ios - 使用命令 "ARCHIVE FAILED"进行归档过程时出现 "xcodebuild archive\"错误

标签 ios ssh archive github-actions

我有一个 Swift 语言的 iOS 项目,我必须在终端上使用命令创建存档和 .ipa。

我正在使用 Github 操作在试飞中上传 iOS 版本。
我正在遵循此链接中提到的所有说明:

https://zach.codes/ios-builds-using-github-actions-without-fastlane/#install-gpg

当我在 iMac 系统的终端上点击这个命令时:

xcodebuild archive \
            -workspace GitHubActions.xcworkspace \
            -scheme GitHubActions \              
            -sdk iphoneos12.4 \            
            -configuration Release \       
            -archivePath $PWD/build/GitHubActions.xcarchive \
            IPHONEOS_DEPLOYMENT_TARGET=9.0
            PROVISIONING_PROFILE="<UUID>" \
            CODE_SIGN_IDENTITY="<Code_Sign_IDENTITY>"

我得到了成功的回应:
** ARCHIVE SUCCEEDED **

但是当我使用这个命令连接我的 iMac 时:
ssh <system_username>@192.168.1.100

我连接成功,然后我已经使用“cd”命令到达项目文件夹。

然后当我点击相同的命令时:
xcodebuild archive \
                -workspace GitHubActions.xcworkspace \
                -scheme GitHubActions \              
                -sdk iphoneos12.4 \            
                -configuration Release \       
                -archivePath $PWD/build/GitHubActions.xcarchive \
                IPHONEOS_DEPLOYMENT_TARGET=9.0
                PROVISIONING_PROFILE="<UUID>" \
                CODE_SIGN_IDENTITY="<Code_Sign_IDENTITY>"

但是当我在另一个系统上使用这个命令时,我得到了这个错误:
** ARCHIVE FAILED **


The following build commands failed:
    PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/webcubator/Library/Developer/Xcode/DerivedData/GitHubActions-djymswinwihmdobtcnvllpcfgvht/Build/Intermediates.noindex/ArchiveIntermediates/GitHubActions/IntermediateBuildFilesPath/GitHubActions.build/Release-iphoneos/GitHubActions.build/Script-678E7AE3D9F6AC7BF3ABDA96.sh
(1 failure)

我到底做错了什么。无法理解。从另一个系统访问 iMac 时显示此错误。

最佳答案

经过大量搜索,我终于找到了无法使用来自其他系统的远程连接提交的问题的解决方案。

钥匙串(keychain)处理您的 key 和证书(由代码签名用于对您的构建进行签名)对于远程用户来说开箱即用是不可用的。需要先解锁!!!

要了解系统上可用的钥匙串(keychain),只需在终端上输入:

security list-keychains

你应该看到类似的东西:
"/Users/'YOURUSER'/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

你猜对了,你必须解锁你用户的钥匙串(keychain)!只是运行这个:
security unlock-keychain -p 'USER_PASSWORD' 'PATH_TO_USER_KEYCHAIN'

关于ios - 使用命令 "ARCHIVE FAILED"进行归档过程时出现 "xcodebuild archive\"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982610/

相关文章:

java - 归档工件时发生错误

Xcode组织者复制失败

ios - 内存警告释放 View Controller ?

ios - 相同的应用程序名称但不同的国家和二进制文件

powershell - 在 PowerShell 中重用 SSH 代理

c++ - 通过管道与 PuTTY 通信

java - 无法在 Arquillian 测试中打开资源文件

ios - 动画时无法点击注释

ios - 应用程序因暂停动画和 NSInternalInconsistencyException 而崩溃

macos - MacOS 上 zsh 终端中的穿梭 : "expected server init string b' SSHUTTLE000 1'; got b' '"