Codeign返回未知错误-1 = ffffffffffffffff

我试着编写一个iOS应用程序的代码,这些是我遵循的步骤

security create-keychain -p password ${KEYCHAIN} security set-keychain-settings -u -t 300 ${KEYCHAIN} security list-keychains -d user -s login.keychain ${KEYCHAIN} security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null security unlock-keychain -p password ${KEYCHAIN} /usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app 

这让我回复了Codeign通过ssh返回的未知错误-1 = ffffffffffffffff。

如果我直接在机器上执行代码签名命令,它就会成功签名。

问题仅出在Mac OS Sierra中。

刚才有同样的问题,补充说

security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k password ${KEYCHAIN}

为我解决了。

有同样的问题,但直接从Xcode归档。 在有帮助的情况下共享解决方案。

有时,Keychain似乎最终处于腐败状态。 也使用MacOS Sierra。

症状:

重新启动Xcode后,Relogin需要访问帐户 重新启动Xcode后,Relogin需要访问帐户

某些操作使用Keychain Access时提示输入密码 某些操作使用Keychain Access时提示输入密码

钥匙串访问 – 通过钥匙串的更改设置访问登录钥匙串时出错… 钥匙串访问 - 通过钥匙串的更改设置访问登录钥匙串时出错...

为我修复的是锁定和解锁(需要密码)所涉及的钥匙串,在我的情况下登录

@madhu我一直在尝试解决同样的问题,发现与相关证书相关联的密钥的访问控制被设置为“允许访问前确认”,这在Jenkins中不起作用。 我修改了它(通过Keychain Access gui – 获取信息,访问控制)到“允许所有应用程序访问此项目”,我的构建成功。

我要进行芯片处理以及我不得不尝试一些比这里提到的更多的东西:问题是钥匙串不喜欢SSH会话。 我必须在我的会话中执行这些来修复它:

 security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain security set-keychain-settings ~/Library/Keychains/login.keychain 

我还通过从XCode中移除我的帐户来删除我当前的证书系统/帐户证书(我使用fastlane进行构建)但我怀疑这不应该影响它。

您可能已经从KeyChain导出了一些文件,如p12,当操作系统要求您提供root密码,并且您拒绝了它时,Xcode将使用此信息编码签名错误。

如果这可能是这样,你应该重复上述操作,输入你的密码并点击允许,然后就可以编码签名了。

这种情况发生在无头构建中,因为无法显示或响应密钥访问提示。 解决方案是通过提前授予对密钥的访问来防止显示提示。

打开Keychain Access,找到签名证书的密钥(登录 – >证书,然后展开证书以显示其密钥)。 右键单击该键并选择:获取信息 – >访问控制,然后选择“允许所有应用程序访问此项”。

我已经通过网络尝试了几乎所有现有的建议,但没有一个帮助…

最后只重新生成供应配置文件(用于AdHoc),重新下载并将其放置到~/Library/MobileDevice/Provisioning Profiles/覆盖现有的~/Library/MobileDevice/Provisioning Profiles/挽救了我的生命。

顺便说一句,AppStore构建一直都是成功的,所以问题肯定在AdHoc配置文件本身(非常奇怪,因为它看起来很棒)。