存档 XCode 项目以上传到 Apple Store 时的退出代码 1

Posted

技术标签:

【中文标题】存档 XCode 项目以上传到 Apple Store 时的退出代码 1【英文标题】:Exit Code 1 When Archiving XCode Project for upload to Apple Store 【发布时间】:2020-12-30 05:38:46 【问题描述】:

我有一个 Xcode 项目 (Xcode 11.5)。它在模拟器和我自己的设备上运行良好,没有任何错误。但是当我归档它时,会发生这种情况:

CopySwiftLibs /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app(在项目“BeatBat3”的目标“BeatBat3”中) cd /Users/mabelapps/Library/Mobile\ Documents/com~apple~CloudDocs/XCode\ Projects/BeatBat3 导出 CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate 导出 DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer 导出 SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk builtin-swiftStdLibTool --copy --verbose --sign 5BA046D7A018CFC33DE7C29728E7C59DB93C6959 --scan-executable /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat .app/BeatBat3 --scan-folder /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks --scan-folder /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/PlugIns --scan-folder /Applications/Xcode.app/Contents/ Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/System/Library/Frameworks/StoreKit.framework --platform iphoneos --toolchain /Applications/Xc ode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain --destination /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app /Frameworks --unsigned-destination /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport --emit-dependency-info /Users/mabelapps/Library /Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/IntermediateBuildFilesPath/BeatBat3.build/Release-iphoneos/BeatBat3.build/SwiftStdLibToolInputDependencies.dep

复制 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCore.dylib 到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3- ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftFoundation.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftFoundation.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCoreFoundation.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCoreFoundation.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCoreGraphics.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCoreGraphics.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftObjectiveC.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftObjectiveC.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftDarwin.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftDarwin.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftDispatch.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftDispatch.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCore.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftCore.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftFoundation.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftFoundation.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCoreFoundation.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftCoreFoundation.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftCoreGraphics.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftCoreGraphics.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftObjectiveC.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftObjectiveC.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftDarwin.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftDarwin.dylib 将 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftDispatch.dylib 复制到 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build /Intermediates.noindex/ArchiveIntermediates/BeatBat3/BuildProductsPath/SwiftSupport/iphoneos/libswiftDispatch.dylib 探测 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore.dylib 的签名 /usr/bin/codesign -r- --display /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore .dylib 协同设计/Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore.dylib /usr/bin/codesign --force --sign 5BA046D7A018CFC33DE7C29728E7C59DB93C6959 --verbose /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuild.3. /Frameworks/libswiftCore.dylib /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore.dylib:替换现有签名 /Users/mabelapps/Library/Developer/Xcode/DerivedData/BeatBat3-ecrdlwcmtqtujieezcmongelfrfw/Build/Intermediates.noindex/ArchiveIntermediates/BeatBat3/InstallationBuildProductsLocation/Applications/BeatBat3.app/Frameworks/libswiftCore.dylib:errSecInternalComponent

错误:退出代码 1 失败(在项目“BeatBat3”的目标“BeatBat3”中)


谁能指点我正确的方向,好吗?

谢谢 莱昂W53

【问题讨论】:

那是一条非常需要阅读的信息,也许截图会有所帮助?但听起来您遇到了代码签名问题。检查您的 Apple 开发者帐户并确保您的代码签名设置正确,然后在您的应用中验证这些设置。 【参考方案1】:

我现在聪明了一点。

要提交到 Apple App Store,您需要分发证书和 ios 分发证书。两者都必须有公钥和私钥。

私钥是指将提交应用程序的计算机。私钥是 Mac 的密码,用于归档应用并提交。

首先,您需要进入您的分发版 Mac 并打开 Keychain Access 应用程序(应用程序/实用程序/Keychain Access)。进入后,在屏幕顶部,转到 Keychain Access/Certificate Assistant/Request a Certificate from a Certificate Authority。

注意 1请求需要用户电子邮件地址。使用您用于登录 Apple Developer Site 的电子邮件地址。您不需要通用名称。选择请求已保存到磁盘并继续。您将被允许选择证书的名称和保存文件夹。点击保存。

您可以根据这个证书签名请求创建所有证书。

进入 Apple 开发者网站并登录(您需要付费才能执行此操作)。使用您用于保存证书的 Apple ID。

转到证书、标识符和配置文件。

单击左栏中的证书。单击证书旁边的 + 以添加新证书。

系统会询问您要创建哪种证书。

您需要选择 Apple Development 才能在您的 Mac 上开发应用程序。您可能需要 iOS App Development 来开发 iOS 应用程序,但我认为这没有必要

要上传和分发您的应用,您需要 Apple Distribution 和 iOS Distribution。

无论您选择哪一个,单击继续,您将被要求上传签名证书请求。在这里,您浏览到您保存的证书签名请求(上面的注 1)。单击生成,将创建证书。单击“下载”,证书将下载到您 Mac 上的“下载”文件夹中。

您可以创建多种不同类型的证书,而无需重新创建 CSR - 一遍又一遍地使用相同的证书。

在您的 Mac 上,您只需双击下载的证书,它们就会被添加到您的钥匙串中。

在 XCode 中,选择 App 文件夹树的 App 根目录并打开“Signing and Capabilities”。从下拉列表中选择您在 Apple Developer Site 中的团队。还要选择自动管理签名。

同样在 XCode 中,您可以转到 XCode/Preferences/Accounts。您应该选择左侧的 Apple ID,这与您登录 Apple 开发者帐户时相同。在右侧,您可以选择将执行上传的团队,然后单击管理证书。您需要有效的 iOS 开发、Apple 开发和 Apple 分发证书。

注意 2 如果有任何证书缺少私钥,这是因为 CSR 是在与当前 PC 不同的 PC 上生成的,或者您没有以相同的身份登录Apple 开发者网站上的开发者。这发生在我身上,这是因为我没有像在系统偏好设置中登录我的电脑一样登录到开发者站点。

如果您存档,并且您丢失了私钥,存档将要求您使用密码登录钥匙串,该密码可以为每个丢失的钥匙解锁 PC。完成后,将创建存档。

注意 3在此犯任何错误,您将生成一个带有非零退出代码的失败存档。苹果没有提供如何解决这个问题的线索。

我目前的情况是我拥有有效的 Apple 开发、iOS 开发和 Apple 分发证书,并且可以存档。除了有效的 Apple 分发证书之外,我还有两个缺少私钥的 Apple 分发证书。但是,我可以归档应用程序。

善待并确保一切安全。

【讨论】:

以上是关于存档 XCode 项目以上传到 Apple Store 时的退出代码 1的主要内容,如果未能解决你的问题,请参考以下文章

苹果 Xcode 8 存档错误

项目存档上的 Apple Mach-O 链接器错误

如何通过命令行构建和部署 Xcode 项目到新的 Apple 的 TestFlight

xcode 5.1 beta ad hoc 构建无法上传到 Test Flight

Xcode 11 - 产品/存档卡在通知扩展上

验证 Xcode 存档而不是最终部署者