如何在不破坏iOS 3.x上的应用程序的情况下链接仅支持iOS4的静态库

时间:2011-09-07 06:23:01

标签: objective-c ios xcode

我有一个iPhone应用程序,我仍然支持iOS3.1。我正在尝试添加一项新功能,该功能需要具有iOS4要求的第三方静态库。当我将我的应用程序链接到静态库时,它可以在iOS4上正常工作但由于缺少静态库中的符号(NSCache)而无法在iOS3.1上启动。

有没有办法有条件地链接静态库,以便它在iOS4下加载但不在iOS3下加载?

1 个答案:

答案 0 :(得分:0)

实际上有。

首先,您必须有条件地加载库。为此,在其他链接标志上,您将为每个体系结构/操作系统版本创建特定的库加载。您可以在目标构建设置的链接菜单上执行此操作。

确保lib上有弱链接,不要为3.x ios版本使用-load_all标志。