以前の iOS 5 では正常に動作していたアプリケーションがありますが、連絡先へのアクセスは承認されていません。iOS 6 未満では、アドレス帳に 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 よりも遅くなったことです。なぜ遅くなりすぎたのか、または連絡先の読み込み速度を上げるために何をすべきかを知っている人はいますか?