gpt4 book ai didi

ios - 设备上的 ABAddressBookCopyArrayOfAllPeople 错误 - 在模拟器上正确

转载 作者:行者123 更新时间:2023-11-28 22:44:03 26 4
gpt4 key购买 nike

我有以下代码:

NSMutableArray *contacts = [[NSMutableArray alloc]init];
CFErrorRef *error = nil;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, error);
if (error)
}
NSArray *arrayOfPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook);

它在模拟器上运行并给了我预期的结果 - 然而在设备上联系人数量为 0 并且没有错误(奇怪的是应用程序不要求我访问地址簿的权限 - 我什至删除并重新安装了应用程序)有什么想法吗?

提前致谢

最佳答案

在 ios 6 上,您需要访问地址簿。调用 ABAddressBookRequestAccessWithCompletion() 获取权限。见thisAddressHelper

CFErrorRef error = nil;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, &error);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
if (error) {
NSLog(@"error %@", error);
}else if (granted){
// Do what you want with the Address Book

}else{
NSLog(@"permission denied");
}

CFRelease(addressBook);
});

关于ios - 设备上的 ABAddressBookCopyArrayOfAllPeople 错误 - 在模拟器上正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702903/

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