【问题标题】:Xcode: Can only Archive an Aggregate Target OnceXcode:只能归档一次聚合目标
【发布时间】: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


    【解决方案1】:

    终于想通了。构建并行运行,在CopySwiftLibs 阶段相互踩踏。在我的聚合目标方案的构建设置下取消选中“并行化构建”解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2012-07-01
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2012-06-11
      • 2022-01-16
      相关资源
      最近更新 更多