Xamarin iOS访问地址簿请求权限中断应用程序

Ema*_*mad 1 c# xamarin.ios xamarin

我正在尝试访问Xamarin.iOS应用程序中的地址簿,我试过这段代码:

var addressBook = AddressBook.ABAddressBook.Create(out NSError error);
if (addressBook != null)
{
    addressBook.RequestAccess((bool granted, NSError accessError) =>
    {
        if (granted)
        {
            //Do something
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

此代码运行到ifadressBook不是null.但是addressBook.RequestAccess(...)没有运行和应用程序退出而没有落入catch条款.

有谁知道这段代码有什么问题?如何检测此类错误,在哪里查找日志或其他内容?

我在Windows 10上的Visual Studio 2017中使用Xamarin连接到Mac和iPhone 6

Ger*_*uis 6

您是否在info.plist中包含NSContactsUsageDescription键?

例如:

<key>NSContactsUsageDescription</key>
<string>Your explanation to the user</string>
Run Code Online (Sandbox Code Playgroud)

不这样做通常会导致无声崩溃.

另请注意,从iOS 9开始,不推荐使用Address Book API,而是支持Contacts Framework.所以你可能想要实现那个.