Skip to main content
 首页 » 编程设计

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

2024年01月26日38落叶无声

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

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

此代码运行到 ifadressBook 不为空。但是 addressBook.RequestAccess(...) 不会运行,应用程序会在未进入 catch 子句的情况下退出。

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

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

请您参考如下方法:

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

例如:

<key>NSContactsUsageDescription</key> 
<string>Your explanation to the user</string> 

不这样做通常会导致静默崩溃。

另请注意,从 iOS 9 开始,地址簿 API 已被弃用,取而代之的是 Contacts Framework。 .所以您可能想要实现那个。