Xcode: 只能将聚合目标存档一次
Xcode: Can only Archive an Aggregate Target Once
我在归档聚合目标时遇到问题。我的应用程序设置如下:
- MyApp.xcodeproj
- App1
- App2
- App3
- App4
- App1-企业
- App2-企业
- App3-企业
- App4-企业
- BuildAllEnterprise(聚合目标以构建所有企业目标)
所有目标共享同一组核心文件:Launch Storyboard、AppDelegate、UIViewController 子类、Storyboard、Asset Catalog。他们都有独特的 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 库正在被聚合中的一个目标复制到派生数据文件夹,并且构建脚本正在尝试为我的聚合中的后续目标复制重复的库。
我在清理我的构建 folder/deleting 派生 Data/restarting Xcode 或我的 Mac 方面取得了不同程度的成功。但是即使我能把目标正确地归档一次,第二次总是失败。
如何在归档我的聚合目标时防止出现这种情况?
终于明白了。这些构建是 运行 并行的,在 CopySwiftLibs
阶段相互踩踏。在我的聚合目标方案的构建设置下取消选中 "Parallelize Build" 解决了这个问题。
我在归档聚合目标时遇到问题。我的应用程序设置如下:
- MyApp.xcodeproj
- App1
- App2
- App3
- App4
- App1-企业
- App2-企业
- App3-企业
- App4-企业
- BuildAllEnterprise(聚合目标以构建所有企业目标)
所有目标共享同一组核心文件:Launch Storyboard、AppDelegate、UIViewController 子类、Storyboard、Asset Catalog。他们都有独特的 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 库正在被聚合中的一个目标复制到派生数据文件夹,并且构建脚本正在尝试为我的聚合中的后续目标复制重复的库。
我在清理我的构建 folder/deleting 派生 Data/restarting Xcode 或我的 Mac 方面取得了不同程度的成功。但是即使我能把目标正确地归档一次,第二次总是失败。
如何在归档我的聚合目标时防止出现这种情况?
终于明白了。这些构建是 运行 并行的,在 CopySwiftLibs
阶段相互踩踏。在我的聚合目标方案的构建设置下取消选中 "Parallelize Build" 解决了这个问题。