c# - 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)
        {
            //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。 .所以您可能想要实现那个。

关于c# - Xamarin iOS 访问地址簿请求权限中断应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318689/

相关文章:

c# - 如果我向 AddControllersWithViews() 添加扩展,它是否也适用于 AddRazorPages()

c# - 如何阻止我的 Xamarin.UITest 运行两次测试?

ios - xamarin iOS : How to show the audio amplitude of the voice when recording

Xamarin.Forms.Application.Current.MainPage 为 null

ios - Xamarin Profiler 未显示在 Visual Studio 2017 中的“分析”选项卡下

c# - 如何使用 .Net Core 在 Linux 上从同一网络的远程计算机获取 mac 地址

c# - 使用字典的 Linq 奇怪行为

c# - 我在服务器上制作了 csv 文件 - 我怎样才能让客户端下载这个文件?

c# - Xamarin - GoogleMap 类移动到特定位置

c# - PCL 文件中的自定义异常