Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin iOS访问通讯簿请求权限中断应用程序_C#_Xamarin_Xamarin.ios - Fatal编程技术网

C# Xamarin iOS访问通讯簿请求权限中断应用程序

C# Xamarin iOS访问通讯簿请求权限中断应用程序,c#,xamarin,xamarin.ios,C#,Xamarin,Xamarin.ios,我正在尝试访问Xamarin.iOS应用程序中的通讯簿,我已尝试以下代码: var addressBook = AddressBook.ABAddressBook.Create(out NSError error); if (addressBook != null) { addressBook.RequestAccess((bool granted, NSError accessError) => { if (granted) {

我正在尝试访问Xamarin.iOS应用程序中的通讯簿,我已尝试以下代码:

var addressBook = AddressBook.ABAddressBook.Create(out NSError error);
if (addressBook != null)
{
    addressBook.RequestAccess((bool granted, NSError accessError) =>
    {
        if (granted)
        {
            //Do something
        }
    });
}
如果和
地址簿
不为空,则此代码将运行到
。但是
addressBook.RequestAccess(…)
不会运行,应用程序退出时不会陷入
catch
子句

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


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

您的info.plist中是否包含NSContactsUsageDescription密钥

例如:

<key>NSContactsUsageDescription</key>
<string>Your explanation to the user</string>
NSContactsUsageDescription
您对用户的解释
不这样做通常会导致无声碰撞


另外请注意,从iOS 9开始,通讯簿API就被弃用,取而代之的是。因此,您可能希望实现该功能。

您是否在info.plist中包含了NSContactsUsageDescription密钥

例如:

<key>NSContactsUsageDescription</key>
<string>Your explanation to the user</string>
NSContactsUsageDescription
您对用户的解释
不这样做通常会导致无声碰撞


另外请注意,从iOS 9开始,通讯簿API就被弃用,取而代之的是。因此,您可能希望实现该功能。

谢谢。为什么这不在Xamarin文档中?为什么这不符合我的要求?!很好,为什么它不在Xamarin文档中,我不知道。不过,如果我没有弄错的话,苹果的设计是个例外。我不明白这是为什么。。请接受它作为一个答案,如果它有帮助!当然,5分钟后谢谢。为什么这不在Xamarin文档中?为什么这不符合我的要求?!很好,为什么它不在Xamarin文档中,我不知道。不过,如果我没有弄错的话,苹果的设计是个例外。我不明白这是为什么。。请接受它作为一个答案,如果它有帮助!当然,5分钟后