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

tit*_*coy 5 xcode compilation ios

当我编译应用程序以在模拟器上运行时,如何从Xcode项目中排除仅为iOS设备体系结构(libssh2等)编译的库?

Nat*_*ate 2

我知道这是一个老问题,但如果有人仍在寻找答案,您可以使用弱链接来指定某些库是可选的

有关如何在 XCode 4 中定义弱/可选链接的信息,请参阅此答案

然后,在通常使用这些功能的代码中,您可以在编译时检测到您位于模拟器中

#if TARGET_IPHONE_SIMULATOR

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

#endif
Run Code Online (Sandbox Code Playgroud)

或在运行时通过检查的值

  [[UIDevice currentDevice] model]
Run Code Online (Sandbox Code Playgroud)

并以编程方式避免使用模拟器环境中不存在的库。