我有一个以前在 iOS 5 上运行良好的应用程序,但没有授权访问联系人。在低于 6 的 iOS 上,即使我的通讯录中有 600 个联系人,但当我将设备升级到 iOS 6 时,我重新编码我的代码以检查/询问授权,并且仍然与 iOS 4、5 兼容。这是代码:
ABAddressBookRef addressBookRef;
if ([self isABAddressBookCreateWithOptionsAvailable]) {
CFErrorRef error = nil;
addressBookRef = ABAddressBookCreateWithOptions(NULL,&error);
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
} else if (!granted) {
} else {
NSLog(@"granted");
[self getAddressBookContacts];
}
});
});
} else {
[self getAddressBookContacts];
}
现在的问题是在 iOS 6 上,地址簿现在加载速度比较低的 iOS 慢,任何人都知道发生了什么,为什么它变得太慢或者应该做些什么来提高其加载联系人的速度?