我有一个 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时显示此错误。
经过大量搜索,我终于找到了无法使用其他系统的远程连接提交的问题的解决方案。
钥匙串处理您的密钥和证书(由代码符号用于对构建进行签名(对远程用户开箱即用。它需要首先解锁!!
要了解系统上可用的钥匙串,只需在终端上输入:
security list-keychains
您应该看到类似以下内容:
"/Users/'YOURUSER'/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"
你猜对了,你必须解锁用户的钥匙串!只是运行这个:
security unlock-keychain -p 'USER_PASSWORD' 'PATH_TO_USER_KEYCHAIN'