サムが私たちのアプリでも同じ問題を抱えています。これは、ユーザーが を使用して連絡先をインポートしようとしてABPeoplePickerNavigationController
、[グループ] ページにアクセスしようとしたときに発生します。
- ナビゲーション コントローラーのタイトルには、連絡先とグループの 2 つの名前が含まれることがあります。
- [OK] ボタンをタップするのは難しい場合があり、ほとんどのユーザーはフリーズを報告しますが、終了することは不可能です。
ABPeoplePickerNavigationController
- Exchange グローバル アドレス一覧へのアクセスは許可されているようですが、データが表示されず、空の tableView のみが表示されます
Sam のハイライトに続いて、ユーザーのアドレス帳にアクセスする許可を明示的に要求することを考えました。ABPeoplePickerNavigationController
iOS 6 でこれが導入されたため、がこれ自体を処理するため、連絡先のインポートには使用しませんでした。
とにかく、私たちは以下を使用しています:
ABAddressBookRef addressBook = ABAddressBookCreate();
__block BOOL accessGranted = NO;
if (ABAddressBookRequestAccessWithCompletion != NULL) { // we're on iOS 6
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
accessGranted = granted;
dispatch_semaphore_signal(sema);
});
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
dispatch_release(sema);
}
else { // we're on iOS 5 or older
accessGranted = YES;
}
if (accessGranted) {
// Do whatever you want here.
}
詳細については、こちらを参照してください:プログラムによって連絡先へのアクセスを要求する
アクセスはすでに正しく許可されているため、これでは問題は解決しません。
設定/一般/リセット/位置情報とプライバシーのリセットでプライバシー設定をリセットしました。
ユーザーの連絡先リストへのアクセスは期待どおりに正しく要求されますが、上記の動作は同じです。
これを解決する方法について説明があれば、それは素晴らしいことです。
よろしく、