pmusolino / Wormholy

iOS network debugging, like a wizard 🧙‍♂️
MIT License
2.31k stars 184 forks source link

fix: crash on iOS 15 in `SwiftySelfAwareHelper` #105

Closed Ashton-W closed 2 years ago

Ashton-W commented 2 years ago

Replace CustomSelfAwareHelper with direct call to Wormholy class. CustomSelfAwareHelper crashes on iOS 15 in optimised builds in the "harmlessFunction" which is using objc runtime to iterate through all classes and checking for a protocol conformance. There was also a performance concern with this method.

Since Wormholy only has one class that conforms to SelfAware and this is not public API we are providing to consumers of the library, we don't need a generic solution. It has been replaced with a single direct function call.

Removed WormholyStarterEngine objc class. constructor attribute static function inside actually had no association with the class. Renamed to wormholy_constructor. wormholy_constructor calls Wormholy class directly, instead of indirectly through runtime check of SelfAware protocol. Removed SelfAware protocol. Removed CustomSelfAwareHelper struct. Removed StarterEngine class.

Fixes #103 Fixes #98 Fixes #96

nexron171 commented 2 years ago

@pmusolino please take in account