gpt4 book ai didi

ios - 为什么我无法获取地址簿的内容

转载 作者:行者123 更新时间:2023-11-28 22:10:29 25 4
gpt4 key购买 nike

我正在尝试使用这些代码获取地址簿的内容。

ABAddressBookRef addressBook =
ABAddressBookCreate();

if (addressBook != nil)
{
NSLog(@"Succesful.");


NSArray *allContacts = (__bridge_transfer NSArray
*)ABAddressBookCopyArrayOfAllPeople(addressBook);
NSUInteger i = 0;
NSLog(@"countT=%lu",(unsigned long)[allContacts count]);
}

我收到成功日志,但计数始终为“0”,为此我使用了模拟器,并在其中添加了联系人以进行测试。它是 iOS 7 和 Xcode 5。

最佳答案

问题是您对 nil 的测试毫无意义。如果用户未授予您访问地址簿的权限,则 ABAddressBookCreate() 的结果仍将为非零。但这将毫无用处!

因此,原则是:始终正确测试您是否已被授予访问权限 (ABAddressBookGetAuthorizationStatus),如果访问既未被授予也未被拒绝,请正式请求它 (ABAddressBookRequestAccessWithCompletion)。

关于ios - 为什么我无法获取地址簿的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23063142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com