gpt4 book ai didi

在 OS3.x 上运行时 iPhone OS4 功能链接错误

转载 作者:行者123 更新时间:2023-12-03 19:32:24 25 4
gpt4 key购买 nike

我已经使用 iPhone 基础 SDK 4.0 编译了一个应用程序,部署目标在 iPhone OS 3.0 上。该应用程序包含OS 4.0新功能:本地通知。

它在操作系统 4.0 的 iPod 2G 上运行良好;然而,每次在操作系统 3.0 的 iPhone 1G 上启动该应用程序时,它都会崩溃。这似乎是运行时引用错误:

“dyld:找不到符号:_OBJC_CLASS_$_UILocalNotification 引用自:/var/mobile/Applications/73A3FAB1-63AE-4A71-8C6B-932142A728FE/Tapatalk X.app/Tapatalk X 预计位于:/System/Library/Frameworks/UIKit.framework/UIKit"

如果SDK3.0和SDK4.0之间的UIKit框架不同,为什么编译时不报告?如何在该应用程序上应用本地通知功能,同时该应用程序仍然可以在 OS3.0 的设备上运行?谢谢。

最佳答案

This answer为我解决了问题:

That error is being triggered because you didn't weak-link the UIKit framework. The UIKit framework in iPhone OS 3.2 added the UISplitViewController, and if you link it in as normal your application will assume those symbols exist on 3.0, where they don't.

To weak-link a framework, find your application target in Xcode, inspect it, and go to the General tab. At the bottom of that tab should be a list of frameworks, with a column for Type. Change the Type for UIKit from Required to Weak and rebuild your application. That should take care of the runtime errors.

这对我来说似乎很安全,因为 UIKit 始终会出现在我们的目标设备上。

关于在 OS3.x 上运行时 iPhone OS4 功能链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3178290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com