3

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

谢谢。

4

3 回答 3

8

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

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

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

于 2012-07-07T03:15:34.520 回答
2

您可以设置两个目标,一个用于模拟器,一个用于设备,并在模拟器目标设置(Build Phases -> Link Binary With Libraries)中删除不需要的 *.a 文件

于 2012-07-06T21:27:22.003 回答
0

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

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

还要确保不使用TARGET_IPHONE_SIMULATOR宏进行检查来包含静态库中的文件,就像@MDT 所做的那样。

于 2012-07-07T01:57:14.787 回答