アプリストアの私のアプリはiPhoneの連絡先にアクセスしています。ユーザーがiOS 6でダウンロードした後、iOS 5で正常に動作している間、iPhoneの連絡先にアクセスできません。問題は、AppleがiOS 6に追加した新しいプライバシー設定です..検索した後、ユーザーの連絡先にアクセスできるようにするには、コードで次のことを行う必要があることがわかりました。
//in order to test addressbook availability we have to attempt to create an addressbook instance using ABAddressBookCreateWithOptions
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 60000
// Request authorization to Address Book
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBookRef,
^(bool granted, CFErrorRef error) {
if (granted)
[self loadContacts];
});
} else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
// The user has previously given access, add the contact
[self loadContact];
} else {
}
#endif //end iOS6+
//ABAddressBookCreateWithOptions not available or succeeded. return YES;
[self loadContacts];
私の問題は、デバイスでのデバッグ中にアラートが表示されないことです。理由がわかりません。上記のコードは正常に動作するはずですが、アプリがアプリストアに送信されたときのみですが、送信前にデバッグモードでテストしたいですか? 何かアドバイス ?
あなたの支援に感謝。ありがとう。