我正在尝试为sdk iphoneos和iphonesimulator构建我的项目。很少有.a静态库只能用于iphoneos。如果在XCode中构建iphonesimulator,我可以在哪里忽略这些文件?
感谢。
答案 0 :(得分:6)
不使用硬链接库,而是使用项目配置设置中的“Other Linker Flags”设置。您将能够根据当前的构建配置链接不同版本的库。
默认情况下,您已经拥有Debug和Release构建配置,按下Debug上的“加号”按钮将为特定架构添加配置。选择“任何iOS模拟器”并链接您要用于在模拟器上运行应用程序的库。然后再次按下Debug上的“加号”按钮,这次选择“Any iOS”并链接您想要用来在设备上运行应用程序的库。
最后,对Release配置执行相同的操作。
答案 1 :(得分:2)
您可以设置两个目标,一个用于模拟器,一个用于设备,在模拟器目标设置中(构建阶段 - >带有库的链接二进制文件)删除不需要的* .a文件
答案 2 :(得分:0)
我刚遇到这个问题,我通过为模拟器创建一个新目标来解决。
在新目标中,您可以转到目标设置 - >构建阶段 - >将二进制文件与库链接,并删除仅针对该目标的静态库。
还要确保不使用TARGET_IPHONE_SIMULATOR
宏来检查静态库中的文件,就像@MDT一样。