我有一个 Copy Bundle Resources 构建阶段,其中包含200个资源。而现在我必须将新目标制作成不同的目标。 (app - > static lib)不幸的是,我不能只复制目标:(
无论如何,手动逐个添加每个资源是无稽之谈。我试图立刻复制它们,但我做的都失败了。我做了一个新窗口并尝试将它们拖到新目标的阶段,但它没有用。
如何将复制包资源构建阶段复制到另一个目标?目标在同一个项目中,因此没有文件引用问题。
答案 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?新目标是作为模板开始的还是空的?
静态库具有“复制包资源”构建阶段意味着什么?难道它不会使用它所链接的东西的资源吗?