我有一个包含200个资源的Copy Bundle Resources构建阶段。现在我需要创建一个不同类型的新目标(从应用程序到静态库)。所以很遗憾,我不能只是复制目标:(
无论如何,逐个手工添加每个资源都是无意义的。我曾经试图一次性复制它们,但所有尝试都失败了。我打开了一个新窗口,试图将它们拖到新目标的阶段中,但这行不通。
我该如何将Copy Bundle Resources构建阶段复制到另一个目标?该目标位于同一项目中,因此没有文件引用问题。
我有一个包含200个资源的Copy Bundle Resources构建阶段。现在我需要创建一个不同类型的新目标(从应用程序到静态库)。所以很遗憾,我不能只是复制目标:(
无论如何,逐个手工添加每个资源都是无意义的。我曾经试图一次性复制它们,但所有尝试都失败了。我打开了一个新窗口,试图将它们拖到新目标的阶段中,但这行不通。
我该如何将Copy Bundle Resources构建阶段复制到另一个目标?该目标位于同一项目中,因此没有文件引用问题。
我通过在文本编辑器中打开.pbxproj
文件并查找与我的目标相关的正确行来解决这个问题。
这很棘手,因为Xcode使用id系统来填充项目文件(顺便说一句,我是在从Cocoapods迁移到Carthage时这样做的,所以我没有使用那个设置)
需要一些努力才能找到您的目标id,但在Xcode 9中,您应该有类似于下面的内容:
targets = (
EDBC6D6D1E0150850033868B /* target 1 */,
EDF960C71E1963E0001A29CE /* fancy target */,
EDF960D71E196DF3001A29CE /* Service Extension */,
);
在描述项目的/* Begin PBXProject section */
部分。搜索.pbxproj
文件以查找您的id,以查找列出目标构建阶段id的类似结构的buildPhases
。
buildPhases = (
47120FBF1F4343A900C27821 /* Sources */,
4712100B1F4343A900C27821 /* Frameworks */,
4712100D1F4343A900C27821 /* Resources */,
471210251F4343A900C27821 /* ShellScript */,
476673451F5F1ACD00567450 /* Embed App Extensions */,
);
现在,找到所需的id(在OP的情况下为Resources),您将找到资源列表。您可以将其与源目标的列表进行比较并复制粘贴。
Xcode 的版本是多少?新目标是从模板开始还是空白的?
静态库具有“复制捆绑资源”构建阶段是什么意思?它不会使用它链接到的东西的资源吗?