崩溃在AccountStore.Create()。保存(e.Account,“);

时间:2016-09-29 17:25:51

标签: xamarin xamarin.ios

的Xamarin.Forms示例ToDoAwsAuth中

https://developer.xamarin.com/guides/xamarin-forms/web-services/authentication/oauth/

成功登录后,在aOnAuthenticationCompleted事件中,当尝试保存到Xamarin.Auth时,应用程序崩溃

AccountStore.Create ().Save (e.Account, "ToDoList");

错误说不能对钥匙串说

期待寻求帮助。

3 个答案:

答案 0 :(得分:8)

查看您是否有名为 Entitlements.plist 的文件,如果是这样,请点击它并选中启用钥匙串

Capabilities

使用以下内容创建新文件名 Entitlements.plist ,然后将其拖放到项目中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>keychain-access-groups</key>
    <array>
        <string>your bundle id</string>
    </array>
</dict>
</plist>
  • 右键单击

  • 上的
  • 选择选项

  • 选择 iOS捆绑包签名

  • 选择 Entitlements.plist

xam studio options

那就是它应该没问题!

答案 1 :(得分:1)

根据此

,看起来这是Xamarin.Auth中的错误

https://github.com/xamarin/Xamarin.Auth/issues/128

答案 2 :(得分:1)

只需将空Entitlements.plist添加到您的iOS应用项目中即可。

选择(iOS App Project)/ +文件/ +新文件/ + iOS / + Entitlements.plist

注意:这似乎是Xamarin.Auth和Apple在iOS 10 SDK中的一个错误(模拟器中的一些报告错误)中的一个错误的结果。

Xamarin.Auth修复将在接下来的几个小时内发布(CI服务器)在nuget版本1.3.3-alpha-01

如果在屏幕被锁定时执行身份验证,则可能会发生类似错误(Xamarin.Auth中的错误)。 PR 80

相关:

https://github.com/xamarin/Xamarin.Auth/issues/128
https://bugzilla.xamarin.com/show_bug.cgi?id=43514

https://github.com/xamarin/Xamarin.Auth/pull/80