iphone - Xcode - 根据正在编译代码的设备修改库搜索路径

标签 iphone xcode ios-simulator xcode4

我确信以前有人问过这个问题,但是我整个下午都在用头撞砖墙,试图弄清楚如何使用 XCode 4 来实现这一目标。

我有一个由第三方分发的库。他们实际上提供了 2 个不同的版本,一种用于模拟器,另一种用于实际设备。

我想知道,在 XCode 4 中处理此类情况的推荐方法是什么;在 XCode 3 中,我可以简单地指定一个新目标。我希望避免通过 lipo 创建包含两个库的 fat 二进制文件,但如果这是我可用的唯一可行选项,那就这样吧。

理想情况下,我想做的是根据正在编译项目的当前设备修改库搜索路径,例如:

模拟器:/path/to/simulator/lib.a

设备/path/to/device/lib.a

如果我可以自动化该过程,那么一旦我设置了它,它就变得透明了,那就更好了。

非常感谢您花时间阅读本文。

最佳答案

XCode 根据目标“设备”将 $(EFFECTIVE_PLATFORM_NAME) 定义为“iphoneos”或“iphonesimulator”。只要您的库路径包含这些字符串之一,您就可以设置 您的目标或项目中的 LIBRARY_SEARCH_PATHS 类似于:

/path/to/$(EFFECTIVE_PLATFORM_NAME)/lib.a

提示:您可以通过单击“build设置”中的“全部”,然后选择“编辑器”>“显示设置名称”和“编辑器”>“显示设置定义”来查看此操作的实际效果。菜单。要查看最终值是否符合您的预期,请使用编辑器 > 显示设置值切换回值。

关于iphone - Xcode - 根据正在编译代码的设备修改库搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492346/

相关文章:

iphone - 如何序列化一个 UIView?

iphone - 在 objective-c 中使用 c++ 类

带有两个并排的 UITableViewController 的 iPhone 应用程序

xcode - Xcode4.2中的无线调试

objective-c - CoreText 框架 - 应用程序无法在模拟器中运行 - iOS

iphone - 如何在 objective-c 中设置 NSNumber 变量的值(不创建新对象)

ios - Swift iOS 模块未部署到预期的调试目录

ios - XCTest 在 TestSummaries 中没有 ActivitySummaries

ios - 按下按钮时应用程序崩溃; iOS模拟

ios - 模拟器中 iPhone 5 的白条