如何在Xcode中排除模拟器构建中的框架

7
当我在编译应用程序以在模拟器上运行时,如何排除仅为iOS设备架构(libssh2等)编译的库?请注意,保留HTML标记。

为什么不将它们编译为i386,然后使用“lipo”创建一个通用的“二进制文件”呢?这样你也可以在模拟器上测试libss2等。你需要帮忙吗? - Jonas Schnelli
1个回答

2
我知道这是一个老问题,但如果有人仍在寻找答案,您可以使用弱链接来指定某些库是可选的
请参见XCode 4中如何定义弱/可选链接的答案 然后,在通常会使用该功能的代码中,您可以在编译时检测到自己在模拟器中。
#if TARGET_IPHONE_SIMULATOR

  NSLog(@"I'm in the simulator");

#endif

或者在运行时通过检查数值来实现。
  [[UIDevice currentDevice] model]

通过编程避免在模拟器环境中使用不存在的库。

有什么想法可以不将这两个框架都嵌入到ipa中吗? - Stefan Vasiljevic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接