【发布时间】:2016-04-07 17:16:07
【问题描述】:
我在归档聚合目标时遇到问题。我的应用是这样设置的:
- MyApp.xcodeproj
- App1
- App2
- App3
- App4
- App1-企业版
- App2-企业版
- App3-企业版
- App4-企业版
- BuildAllEnterprise(构建所有企业目标的聚合目标)
所有目标共享相同的核心文件集:启动 Storyboard、AppDelegate、UIViewController 子类、Storyboard、资产目录。它们都有唯一的 info.plist 文件。
添加一个聚合目标并构建它可以完美运行。我也可以第一次存档没问题。只有在我尝试第二个存档后,运行CopySwiftLibs 命令时才会出现错误:
*** error: Couldn't copy/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib to /Users/jal/Library/Developer/Xcode/DerivedData/MyApp-enstrypfbpojoqgbavkrccebdjsi/Build/Intermediates/ArchiveIntermediates/BuildAllEnterprise/BuildProductsPath/SwiftSupport/iphoneos/libswiftCore.dylib: A file with the name “libswiftCore.dylib” already exists.
它并不总是同一个 dylib。有时是libswiftDarwin.dylib,有时是libswiftUIKit.dylib。我认为出现此问题是因为聚合中的一个目标正在将 Swift 库复制到 Derived Data 文件夹,并且构建脚本正在尝试为我的聚合中的后续目标复制重复的库。
我在清理构建文件夹/删除派生数据/重新启动 Xcode 或我的 Mac 方面取得了不同程度的成功。但是即使我可以将目标正确存档一次,它也总是第二次失败。
归档聚合目标时如何防止这种情况发生?
【问题讨论】:
标签: ios xcode xcodebuild