我们在 Xcode 项目中使用新的构建系统和 Cocoapods 1.7.5。我们的项目(我们称之为 Y)实际上是一个开发 pod,但我们还编写了一些代码来创建应用程序演示(您知道,为了使构建更快、迭代更快)。这些演示代码(AppDelegate.swift、启动任务等)不包含在开发容器中。剩余的大约 90% 的源代码和资源文件(例如 i18n 字符串和图像资源)被打包到开发 pod 中,供另一个项目(我们称之为 X)使用。
在开发过程中,大部分更改发生在 Y 的 dev pod 部分,因此我们需要确保 X 执行时包含所有更改pod install。
最近我们遇到一个问题:
\nerror: Multiple commands produce \'/Users/x/Library/Developer/Xcode/DerivedData/Y-cawteybtitmeiafweribgqzkuhnr/Build/Products/Debug-iphoneos/Y.app/Assets.car\':\n1) Target \'Y\' (project \'Y\') has compile command with input \'/Users/name/DEV/workspace/Y/SupportFiles/Assets.xcassets\'\n2) That command depends on command in Target \'Y\' (project \'Y\'): script phase \xe2\x80\x9c[CP] Copy Pods Resources\xe2\x80\x9d\nRun Code Online (Sandbox Code Playgroud)\n经过几个小时的multiple commands produce assets.car谷歌搜索,我们终于看到了一个合理的解释:
\n复制捆绑资源的 *.xcassets --> Assets.car
\n[CP] 复制 …