gpt4 book ai didi

objective-c - 如何有条件地将框架包含在 Xcode 项目中?

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:37 25 4
gpt4 key购买 nike

是否可以有一个 Xcode 项目(理想情况下是一个目标),在针对特定版本的 OS X/Xcode 构建时有条件地包含框架,但在针对另一个版本构建时不包含那些框架?

我想开始将对 El Capitan 的支持添加到我正在处理的应用程序中,但我想到的一些支持需要链接到 Yosemite 中不存在的框架。有没有一种方法可以配置 Xcode 项目,以便可以在 10.11/Xcode 7 下使用框架构建同一个项目,也可以在没有框架的情况下在 10.10/Xcode 6 下构建(并且不会引发错误)?

我知道如何在运行时检查类或方法是否存在,但我不清楚如何控制框架链接而不创建第二个 Xcode 项目、第二个源代码控制分支或始终针对Xcode 7(我还不想做)。

最佳答案

“其他版本”本质上是另一个 target — 它以这种方式设置以准确执行您的要求。一个基本的例子就是右键单击您的原始目标并从当前目标中选择 duplicate;然后对 Build Phases 部分中的链接框架进行任何更改。

目标

在构建阶段中,您会注意到我已将三个框架链接到我的原始目标:

original

After right-clicking on the original target and creating a duplicate I'm able to link it differently:

enter image description here

MyApp 的重复版本使用与原始版本相同的类和 header ,但那些需要排除的框架的除外。也可以导入不同的框架,更改诸如 Deployment Target 之类的东西(例如,为不同版本的 OS X 构建),或者可能是哪个 SDK 每个人都可能使用,等等。

一旦您更加熟悉标准构建过程,您就可以创建自定义构建脚本来处理专门的任务,例如保持目标名称相同,甚至创建安装程序包——一切皆有可能。

关于objective-c - 如何有条件地将框架包含在 Xcode 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31434974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com