Linking a custom dynamic iOS framework named FMCoreLite
was crashing the app during runtime. And the crash log has a weird information about some classes inside FindMyDevice
framework.
dyld[90390]: Symbol not found: _OBJC_CLASS_$_FMPreferencesUtil
Referenced from: <6FCA1A20-3728-39C5-BBB8-9BF918E6DC0C> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/FindMyDevice.framework/FindMyDevice
Expected in: <B153C426-DA0D-3E58-A586-087B00CB9FE6> <path-to-deriveddata>/Build/Products/Debug-iphonesimulator/FMCoreLite.framework/FMCoreLite
It seems like Apple also has a private framework named FMCoreLite
(https://iphonedev.wiki/index.php/PrivateFrameworks) and that is creating some conflicts. Renaming custom framework with a slight change (FMCore_Lite) in its name fixes the issue.
Is this expected to avoid naming conflicts with the private frameworks ? Is there a documentation/article available about this information ?