Xcode 12 上传错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”
Posted
技术标签:
【中文标题】Xcode 12 上传错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”【英文标题】:Xcode 12 Upload ERROR ITMS-90085: "No architectures in the binary. Lipo failed to detect any architectures in the bundle executable." 【发布时间】:2020-11-02 22:22:02 【问题描述】:我正在开发一个我之前发布过无数次的应用程序。我最近更新到 Xcode 12 并且正在使用 Carthage 解决方法脚本,它使我能够毫无问题地构建 Debug 构建。但是,当我尝试将存档上传到 App Store Connect 时,我看到了以下错误:
App Store Connect 操作错误 错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”
我在 xcarchive 中查看了一下,可以看到在 .app 目录中,我的非 carthage 嵌入式库的目录没有 unix 可执行文件,而过去成功的 xcarchive 上传确实有该可执行文件。
关于如何解决这个问题的任何想法?回到 Xcode 11.7 需要更改应用程序代码,所以我希望不必这样做。
更新:也尝试删除并重新嵌入有问题的框架,但这没有帮助。
我终于添加了一个构建阶段运行脚本来修复这个问题,但会继续寻找更好的解决方案。无论如何,这是我添加的脚本--
MISSING_FRAMEWORK_EXECUTABLE="$PROJECT_TEMP_ROOT/UninstalledProducts/iphoneos/MyFramework.framework/MyFramework"
TO_DIRECTORY="$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/MyFramework.framework/"
mkdir -p "$TO_DIRECTORY"
cp "$MISSING_FRAMEWORK_EXECUTABLE" "$TO_DIRECTORY"
【问题讨论】:
另外,我注意到有问题的 unix 可执行文件确实链接到 ArchiveIntermediates 目录的子文件夹中,但由于某种原因未添加到 xcarchive。会努力添加它,但似乎应该有一种开箱即用或配置驱动的方式,因为我只是嵌入了一个本地框架。 FWIW,链接到 /Users/me/Library/Developer/Xcode/DerivedData/MyApp-xcode-generated-random-letters 的 unix 可执行 actual 文件/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/MyEmbeddedFramework.framework 目录。 【参考方案1】:删除 POD 文件夹并再次执行 Pod install。 它对我有用,我希望它也对你有用。
【讨论】:
这听起来像是 CocoaPods 的解决方法,是吗? (我正在使用迦太基)以上是关于Xcode 12 上传错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”的主要内容,如果未能解决你的问题,请参考以下文章
错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”