Xcode 11 卡在存档上
Posted
技术标签:
【中文标题】Xcode 11 卡在存档上【英文标题】:Xcode 11 stuck on archiving 【发布时间】:2019-09-18 22:21:19 【问题描述】:我正在使用 Xcode 11 GM 2 来归档我的应用程序。它使用 CocoaPods 和 Swift。 尝试存档我的应用程序时,它无限卡在这里: 删除 Firebase 或其他框架后,仍然会发生这种情况。有关如何解决此问题的任何想法?
【问题讨论】:
它是使用最新的 Xcode 10 还是 Xcode 11 特有的问题? @balazs630 我无法测试,因为该应用程序是使用 ios 13 特定功能构建的,因此在 Xcode 10 中构建失败 @SergStav 我在 macOS Mojave 上,但我没有将该项目存档。我创建了一个没有 CocoaPods 的新项目,复制了源代码,改用 Carthage,切换到旧版构建系统(文件 > 项目设置),然后将其卡在“为 1 个文件中的 1 个文件设置模式”,删除派生数据,做了一个干净的(Command + K(+Shift)),它确实存档了。 (我也遇到了 RMessage 的问题,其中嵌套了一个“Frameworks”文件夹,其中包含另一个框架,该文件夹需要删除,还要检查框架中的大型字典,尝试删除或拆分它们) 我在 XCode 12.1 上也遇到了同样的问题,有人设法解决了这个问题吗? 【参考方案1】:这可能会有所帮助(我遇到了 SwiftSoup
的问题,另一个 CocoaPod)。在尝试让 Xcode 11 归档我的应用程序时(即使在命令行中),我遇到了莫名其妙的挂起。这并不意味着永久修复,而是临时解决方法(换句话说,我们不应该这样做来构建有问题的库)!
将此添加到Podfile
的底部并重新运行pod install
。
post_install do |installer|
installer.pods_project.targets.each do |target|
next unless target.name == '<NAME OF POD>'
target.build_configurations.each do |config|
next unless config.name.start_with?('Release')
config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone'
end
end
end
然后尝试归档您的项目。如果这不起作用……也许可以尝试使用其他编译器优化设置?
【讨论】:
我使用的是 SwiftSoup,该解决方案也适用于我。谢谢! @BenKreeger 感谢您的工作(目标名称已修复!)。它显然适用于某些人,但不适用于我。我还直接关闭了项目设置中的 Swift Optimization 标志。我正在使用 Xcode 11 版本和 SwiftSoup 2.2.1,并且在“触摸”之后立即链接 SwiftSoup 时存档进程仍然挂起。有什么想法吗?? 我也有 SwiftSoup。这个解决方案也对我有用。 如果您需要将构建上传到 Fabric Crashlytics,请将 config.name 从Release
替换为 Alpha
。那是我的情况!
卡住了我自己的项目。我怎样才能找到问题?【参考方案2】:
同时我找到了一个干净快速的解决方案,在项目导航器中点击“Pods”,然后在targets(图片)中设置SwiftSoup,
在 Swift 编译器中同时设置 -Onone。现在尝试存档。
【讨论】:
我使用的是 SwiftSoup,这解决了我的问题。 Xcode 列出了其他 pod,例如 Alamofire 或一些 Firebase pod,但在删除 SwiftSoup 优化后,我管理存档以上是关于Xcode 11 卡在存档上的主要内容,如果未能解决你的问题,请参考以下文章
将存档上传到 App Store 时,Xcode 卡在“将媒体复制到包中”
Xcode 11 存档给出 PhaseScriptExecution 失败
使用 Xcode 的命令行构建工具存档(xcodebuild 存档)