2012-07-06 31 views
2

我正在尝试为sdk iphoneos和iphonesimulator构建我的项目。有几个静态库只能用于iphone。如果它正在为Xcode中的iphonesimulator构建,我可以在哪里忽略这些文件?如何忽略iOS模拟器的某些静态库

谢谢。

+1

除非库是相同的,它不是真正的模拟。 – 2012-07-06 21:02:58

+0

是的它不是,它是一个用于扫描目的的第三方库。 – kforkarim 2012-07-06 21:04:06

回答

2

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

0

我只是有这个问题我通过为模拟器创建一个新的目标来解决。

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

此外,请确保您没有包含通过使用TARGET_IPHONE_SIMULATOR宏进行检查的静态库中的文件,就像@MDT一样。

5

而不是硬链接库,使用项目配置设置中的“其他链接器标志”设置。您将能够基于当前的构建配置链接不同版本的库。

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

最后,对Release配置做同样的事情。

+0

非常感谢Khanh Your Solution为我工作 – 2014-11-20 15:22:12