我曾经遇到过相同的问题,照着给出的所有解决方案去尝试了,但都没有起作用。但后来我发现是自己犯了一个愚蠢的错误。我忘记在构建设置选项卡下把代码签名身份从iOS Developer改成iOS Distribution。请确保你在那里选择了“iOS Distribution”。
您需要在Keychain中拥有签名证书的私钥和公钥。您是使用同一台Mac(Keychain)创建证书的吗?
尝试了上述解决方案,但都没有成功……重新启动我的Mac解决了这个问题。
我只是进入了我的构建目标的"签名和能力"页面,没有采取任何进一步的行动,然后下一次构建就成功了。
似乎仅仅访问该页面就更新了签名证书。
当在macOS 10.14.x Mojave上运行Xcode 11.3时,我遇到了“无签名证书”的错误。(但是在发布Xcode 12之后。)
我还使用了Fastlane。我的解决方法是在运行Match时将generate_apple_certs
设置为false
。这似乎生成了向后兼容Xcode 11.3的签名证书。
Match文档 - https://docs.fastlane.tools/actions/match/
这是我的Fastfile的相关部分:
platform :ios do
lane :certs do
force = false
match(type: "development", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.dev")
match(type: "adhoc", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.beta")
match(type: "appstore", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier")
end
...
如果您确定在您的配置文件中包含了证书,但仍然遇到此问题,请尝试以下步骤:
关闭您的 Mac 的互联网访问。
勾选自动管理签名。
取消勾选自动管理签名。
打开您的 Mac 的互联网访问。
错误应该会消失。
步骤说明:
有时 Xcode 无法自动同步设置。以上步骤可以手动更新它。