ken*_*nyc 5 macos xcode objective-c
是否有可能有一个 Xcode 项目(最好是单个目标),在针对特定版本的 OS X / Xcode 构建时有条件地包含框架,但在针对另一个版本构建时不包含这些框架?
我想开始向我正在处理的应用程序添加对 El Capitan 的支持,但我想到的一些支持需要链接到优胜美地中不存在的框架。有没有办法配置 Xcode 项目,以便可以在 10.11 / Xcode 7 下使用框架构建相同的项目,但也可以在没有框架的情况下在 10.10 / Xcode 6 下构建(并且不会引发错误)?
我知道如何在运行时检查类或方法是否存在,但我不清楚如何在不创建第二个 Xcode 项目、第二个源代码控制分支或始终针对 Xcode 7 构建的情况下控制框架链接(我还不想做这些)。
“其他版本”本质上是另一个target\xe2\x80\x94,它的设置方式正是为了精确执行您所要求的操作。一个基本的例子就是右键单击原始目标并duplicate从当前目标中进行选择;然后对该部分中的链接框架进行任何更改Build Phases。
在构建阶段,您会注意到我已将三个框架链接到我的\原始目标:
\n\n
\n\n\n右键单击原始目标并创建副本\n后,我可以以不同的方式链接它:
\n

MyApp 的重复版本使用与原始版本相同的类和标头,但需要排除框架的类和标头除外。还可以导入不同的框架,更改诸如Deployment Target(例如为不同版本的构建OS X)或SDK每个框架可能使用的内容等。
一旦您更熟悉标准构建过程,您就可以创建自定义构建脚本来处理专门的任务,例如保持目标名称相同,甚至创建安装程序包 \xe2\x80\x94 一切皆有可能。
\n| 归档时间: |
|
| 查看次数: |
1244 次 |
| 最近记录: |