Summary
When starting Reaper in the main app via [EMGReaper sharedInstance] startWithHandler, the completion handler only includes types from the main app module. Types from embedded dynamic frameworks are not included, even though:
- The app embeds many dynamic frameworks (.framework in .app/Frameworks).
- The app uses classes from those frameworks during startup/navigation.
- The script (node /main.js) correctly lists types from those frameworks.
Environment
- Reaper-iOS: 2.0.1 (SwiftPM)
- Xcode: 16.4
- iOS: 18.3.1 Simulator
- Build: Debug
- App structure: Main app + multiple embedded dynamic frameworks
Steps to Reproduce
- Integrate Reaper-iOS 2.0.1 via SPM.
- In AppDelegate (main app), call:
[[EMGReaper sharedInstance] startWithHandler:^(NSArray<NSString *> *types) {
NSLog(@"Reaper types: %lu", (unsigned long)types.count);
}];
- Launch app and exercise flows that use dynamic frameworks' classes
- List the types in the completion handler of Reaper's start method
Expected Result
The runtime callback includes types from dynamic frameworks that are loaded and used.
Actual Result
The callback only contains types from the main app module. Framework types are not present. The script shows those types exist in the app bundle.
Summary
When starting Reaper in the main app via [EMGReaper sharedInstance] startWithHandler, the completion handler only includes types from the main app module. Types from embedded dynamic frameworks are not included, even though:
Environment
Steps to Reproduce
[[EMGReaper sharedInstance] startWithHandler:^(NSArray<NSString *> *types) {
NSLog(@"Reaper types: %lu", (unsigned long)types.count);
}];
Expected Result
The runtime callback includes types from dynamic frameworks that are loaded and used.
Actual Result
The callback only contains types from the main app module. Framework types are not present. The script shows those types exist in the app bundle.