如何将构建阶段复制到Xcode中的另一个目标?

时间:2012-01-02 13:40:50

标签: xcode build copy

我有一个 Copy Bundle Resources 构建阶段,其中包含200个资源。而现在我必须将新目标制作成不同的目标。 (app - > static lib)不幸的是,我不能只复制目标:(

无论如何,手动逐个添加每个资源是无稽之谈。我试图立刻复制它们,但我做的都失败了。我做了一个新窗口并尝试将它们拖到新目标的阶段,但它没有用。

如何将复制包资源构建阶段复制到另一个目标?目标在同一个项目中,因此没有文件引用问题。

2 个答案:

答案 0 :(得分:2)

我通过在文本编辑器中打开.pbxproj文件并寻找与目标相关的正确行来解决此问题。

这很棘手,因为Xcode使用id系统填充项目文件(ps。我是在从Cocoapods迁移到Carthage的过程中这样做的,所以我没有使用该设置)

需要一些工作来找到目标的ID,但是在Xcode 9中,您应该具有类似于

的内容。

targets = ( EDBC6D6D1E0150850033868B /* target 1 */, EDF960C71E1963E0001A29CE /* fancy target */, EDF960D71E196DF3001A29CE /* Service Extension */, );

描述项目的/* Begin PBXProject section */部分中的

。在.pbxproj文件中搜索您的ID,以找到结构相似的buildPhases,其中列出了目标构建阶段的ID。

buildPhases = ( 47120FBF1F4343A900C27821 /* Sources */, 4712100B1F4343A900C27821 /* Frameworks */, 4712100D1F4343A900C27821 /* Resources */, 471210251F4343A900C27821 /* ShellScript */, 476673451F5F1ACD00567450 /* Embed App Extensions */, );

现在,找到所需ID(在OPs中为Resources)的位置,然后找到资源列表。您可以将它们与源目标列表进行比较,然后复制并粘贴。

答案 1 :(得分:0)

什么版本的Xcode?新目标是作为模板开始的还是空的?

静态库具有“复制包资源”构建阶段意味着什么?难道它不会使用它所链接的东西的资源吗?