在钥匙串中找不到有效的iOS代码签名密钥

时间:2015-09-18 08:53:54

标签: ios xamarin keychain

我可以在调试模式下存档和发布应用,但是当切换到应用模式时,我会收到以下错误:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets:错误:在钥匙串中找不到有效的iOS代码签名密钥。您需要从https://developer.apple.com申请代码签名证书。

附件显示我确实拥有相关的证书,但Xamarin一直在抱怨

此应用已成功发布,但在同一台Mac上使用不同的配置文件。两个用户密钥链都包含相同的证书

enter image description here

enter image description here

7 个答案:

答案 0 :(得分:27)

我决定将平台构建配置从 iPhone 更改为 iPhoneSimulator

enter image description here

答案 1 :(得分:2)

最终通过重新获取所有证书然后将它们放回钥匙链

来使其工作

答案 2 :(得分:2)

当我使用Visual Studio 2015打开Xamarin大学练习时出现此错误。输入了一个错误,他们认为这是预期的行为。 Xamarin Bug

  

如果您在Xamarin Studio中工作并因任何原因设置此属性,然后在VS中打开它,您可能会遇到此问题而无法在“项目属性”中编辑/删除“权利”设置。

我猜练习是用Xamarin Studio创建的。

接受的解决方法是打开iOS .csproj并手动编辑<CodesignEntitlements></CodesignEntitlements> PropertyGroup的Debug|iPhone

Bug workaround enter image description here

答案 3 :(得分:1)

在最后一天,我也为使Xamarin(现在为Mac的Visual Studio)成功部署到我的设备上而进行了免费的开发人员签名(这是我的新手,并且我还没有准备好加入开发人员)程序),并且首先从XCode部署了一个虚拟应用,该虚拟应用具有与其他来源建议的其他应用相同的XCode捆绑标识符,因此保持 CodesignEntitlements 不变,但位于.csproj文件中,但替换了 CodesignKey 的值 iPhone Developer ,如此处的答案:https://stackoverflow.com/questions/58062268/no-valid-ios-code-signing-keys-found-in-keychain-you-need-to-request-a-codesign#=

希望这会像将来对我的帮助一样对某人有所帮助!

答案 4 :(得分:1)

有时是在新启动计算机和Visual Studio时发生的。只是不要点击绿色三角形调试组合框按钮,并检查在此组合框中选择的内容。如果是 "Device" (如图片1 所示),请从列表中选择一个模拟器,如图片2 并开始调试。否则,您会收到此错误,因为如果在组合框中选择了“设备”,则VS会尝试在实际设备中开始调试。

picture 1 picture 2

答案 5 :(得分:0)

你可以试试这个

  1. 删除所有密钥,如果现有表格为Entitlements.plist。
  2. 将项目运行模式更改为debug,选择device。

答案 6 :(得分:0)

我需要从头开始创建Signing Identity证书,然后重新创建Provisioning Profiles(在Apple开发者网站上)。然后使用xcode下载。