我有一个先前在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低,任何人都知道发生了什么,为什么它太慢或者应该怎样做以提高加载联系人的速度?