如何忽略iOS模拟器的一些静态库

时间:2012-07-06 20:59:38

标签: iphone ios xcode xcode4

我正在尝试为sdk iphoneos和iphonesimulator构建我的项目。很少有.a静态库只能用于iphoneos。如果在XCode中构建iphonesimulator,我可以在哪里忽略这些文件?

感谢。

3 个答案:

答案 0 :(得分:6)

不使用硬链接库,而是使用项目配置设置中的“Other Linker Flags”设置。您将能够根据当前的构建配置链接不同版本的库。

默认情况下,您已经拥有Debug和Release构建配置,按下Debug上的“加号”按钮将为特定架构添加配置。选择“任何iOS模拟器”并链接您要用于在模拟器上运行应用程序的库。然后再次按下Debug上的“加号”按钮,这次选择“Any iOS”并链接您想要用来在设备上运行应用程序的库。

最后,对Release配置执行相同的操作。

答案 1 :(得分:2)

您可以设置两个目标,一个用于模拟器,一个用于设备,在模拟器目标设置中(构建阶段 - >带有库的链接二进制文件)删除不需要的* .a文件

答案 2 :(得分:0)

我刚遇到这个问题,我通过为模拟器创建一个新目标来解决。

在新目标中,您可以转到目标设置 - >构建阶段 - >将二进制文件与库链接,并删除仅针对该目标的静态库。

还要确保不使用TARGET_IPHONE_SIMULATOR宏来检查静态库中的文件,就像@MDT一样。