ios - dyld:找不到符号:_UITransitionContextFromViewControllerKey

标签 ios iphone ios6 crash dyld

我一直收到有关我的应用程序在 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/

相关文章:

ios - 如何使用 NSNumberFormatter 向 NSString 插入空格?

ios - 在 Swift 中释放对象

iphone - 在sqlite中向表中添加多列

javascript - 删除默认 IOS 日期选择器的最佳方法

iphone - 如何将 iOS 模拟器永久设置为与英语不同的语言

iPhone:如何在执行选择器方法中传递参数?

iphone - 尝试发出推送通知时出现 SSL Broken pipeline 错误

ios6 - ios 6 中的 didFinishLaunchingWithOptions 之前的应用程序崩溃

ios6 - iOS 6 标签栏应用 : shouldAutorotate not working

ios - 数组中的零对象使程序崩溃,同样在一定计数之后