我已经在iPhone OS 3.0上使用IPhone base SDK 4.0编译了一个应用程序.此应用程序包含OS 4.0新功能:本地通知.
它适用于OS 2的iPod 2G; 然而,每次应用程序启动iPhone 1G OS 3.0时它都会崩溃.它似乎是运行时引用错误:
"使dyld:找不到符号:_OBJC_CLASS _ $ _ UILocalNotification引用自:在/ var /移动/应用/ 73A3FAB1-63AE-4A71-8C6B-932142A728FE/Tapatalk X.app/Tapatalk X预期在:/System/Library/Frameworks/UIKit.framework/UIKit的"
如果UIKit框架SDK3.0和SDK4.0之间是不同的,它为什么不同时编制报告?如何在此应用程序上应用本地通知功能,而应用程序仍可在运行OS3.0的设备上运行?谢谢.
这个答案为我解决了这个问题:
由于您没有弱连接UIKit框架,因此触发了该错误.iPhone OS 3.2中的UIKit框架添加了UISplitViewController,如果你正常链接它,你的应用程序将假设这些符号存在于3.0,而不是.
要弱化链接框架,请在Xcode中找到您的应用程序目标,检查它,然后转到"常规"选项卡.该选项卡的底部应该是框架列表,其中包含Type列.将UIKit的类型从Required更改为Weak并重建您的应用程序.这应该处理运行时错误.
这对我来说似乎是安全的,因为UIKit总是会出现在我们正在瞄准的设备上.
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |