我一直收到有关我的应用程序在 iOS 6 中加载时崩溃的报告。它是使用 iOS 8 SDK 构建的,在 iOS 7 和 8 上运行良好。 我刚刚设法拿到一台 iOS 6 设备进行测试,它确实在启动时崩溃并出现错误:
dyld: Symbol not found: _UITransitionContextFromViewControllerKey
Referenced from: /var/mobile/Applications/895BC1B3-A362-42C9-8560-5CF40A682A10/myapp.app/MyApp Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in /var/mobile/Applications/895BC1B3-A362-42C9-8560-5CF40A682A10/myapp.app/MyApp
我知道 dyld
是链接器问题,但不知道从哪里开始。
我已取消链接并重新添加 UIKit,但仍然无法正常工作。
谢谢
最佳答案
这是因为 UITransitionContextFromViewControllerKey
不存在 until iOS 7 .解决这个问题可能不值得付出努力——这意味着放弃对 UIViewControllerContextTransitioning
的所有使用,因为该协议(protocol)在 iOS 7 中是新的,或者为 iOS 6 创建一个单独的代码路径。如果那是你的想要,看看weak-linking UIKit , 虽然这可能 result in slow startup .
关于ios - dyld:找不到符号:_UITransitionContextFromViewControllerKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28799471/