Xamarin错误代码34018

我一直在处理这个问题,当我通过模拟器上的debugging运行我的应用程序,只要我升级到最新的Xcode 8.0和操作系统版本10.11.6。 错误如下:

应用程序设置exception,无法存储密钥CognitIdentity:IdentityId:eu-west-1: KEY ,出现错误:-34018。

似乎它链接到钥匙链,但还没有在Xamarin的解决scheme。

你应该看看这个bug: https : //bugzilla.xamarin.com/show_bug.cgi?id=43514

这可能是相同的:)

这是我根据DDerTyp的build议所做的

  1. 将“Entitlements.plist”文件添加到项目。

  2. 点击“启用钥匙串访问组”checkbox启用它。

  3. 保存“Entitlements.plist”文件。

  4. 在“项目选项>生成> iOS捆绑签名>自定义权利”下添加“Entitlements.plist”文件。

从Brendan Zagaeski的评论https://bugzilla.xamarin.com/show_bug.cgi?id=44361#c3

在进一步研究解决方法时,我发现在Entitlements.plist文件中启用“钥匙串访问组”是不必要的。 添加任何 Entitlements.plist文件(甚至没有属性键的文件)就足够了。

Xamarin Studio在Mac上的解决方法

  1. 将“iOS>属性列表”添加到项目中,并将其命名为“Entitlements.plist”。

  2. 在“项目选项>生成> iOS捆绑签名>自定义权利”下添加“Entitlements.plist”文件。

(请务必按照步骤5中的“iPhoneSimulator”configuration,而不只是“iPhone”configuration。)

  1. 保存项目属性并重新将应用程序部署到模拟器。

在Visual Studio中解决方法

  1. 将新的“Apple> Misc> Entitlements.plist”文件添加到项目的顶层。

  2. 在“项目属性> iOS捆绑签名>自定义权利”下添加“Entitlements.plist”文件。

(请务必按照步骤2进行“iPhoneSimulator”configuration,而不仅仅是“iPhone”configuration。)

  1. 保存项目属性并重新将应用程序部署到模拟器。

(链接中的原文提到了一个Xamarin VS文件select器错误,后来被修复了)