我正在尝试访问 Xamarin.iOS 应用程序中的地址簿,我已经尝试过以下代码:
var addressBook = AddressBook.ABAddressBook.Create(out NSError error);
if (addressBook != null)
{
addressBook.RequestAccess((bool granted, NSError accessError) =>
{
if (granted)
{
//Do something
}
});
}
此代码运行到 if
且 adressBook
不为空。但是 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。 .所以您可能想要实现那个。
关于c# - Xamarin iOS 访问地址簿请求权限中断应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318689/