iOS 11 模拟器 dyld:未找到符号:_CKAccountChangedNotification
iOS 11 simulator dyld: Symbol not found: _CKAccountChangedNotification
有人知道我的 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
版本
解决方案是重命名您的框架。
有人知道我的 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
版本
解决方案是重命名您的框架。