有人知道我的iOS 11模拟器发生了什么吗?当我在iOS 11上启动时,该应用程序无法正常工作,并在控制台上说:
dyld: Symbol not found: _CKAccountChangedNotification
Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CoreDuet.framework/CoreDuet
Expected in: /Users/steve/Library/Developer/Xcode/DerivedData/Cloud-bvzzwfgkjzfnzibxrwadbayiowcu/Build/Products/Debug-iphonesimulator/CloudKit.framework/CloudKit in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CoreDuet.framework/CoreDuet"
但是,当在iOS 10模拟器中运行或使用iOS 11在设备上运行时,一切都很好。如何解决此问题?预先感谢!
cloudKit是一个系统框架,因此您的框架正在干扰其他系统框架,试图在真实的CloudKit.framework
这是因为模拟器当前不使用Dyld共享的缓存(否则符号已经解决了系统提供的CloudKit.framework
)和 Xcode设置DYLD_FRAMEWORK_PATH
,以指向构建的产品目录,因此即使未在最终安装位置打包的框架也可以找到您的框架。
这两个组合导致Dyld试图解决_CKAccountChangedNotification
时看到您的CloudKit.framework
版本。
解决方案是重命名您的框架。