我有一个iPhone应用程序,我仍然支持iOS3.1。我正在尝试添加一项新功能,该功能需要具有iOS4要求的第三方静态库。当我将我的应用程序链接到静态库时,它可以在iOS4上正常工作但由于缺少静态库中的符号(NSCache)而无法在iOS3.1上启动。
有没有办法有条件地链接静态库,以便它在iOS4下加载但不在iOS3下加载?
答案 0 :(得分:0)
实际上有。
首先,您必须有条件地加载库。为此,在其他链接标志上,您将为每个体系结构/操作系统版本创建特定的库加载。您可以在目标构建设置的链接菜单上执行此操作。
确保lib上有弱链接,不要为3.x ios版本使用-load_all标志。