3

私はこのコードを持っています:

   CFArrayRef contactsList = ABAddressBookCopyArrayOfAllPeople(addressBookRef); 

   CFMutableArrayRef peopleMutable = CFArrayCreateMutableCopy(kCFAllocatorDefault, CFArrayGetCount(contactsList), contactsList);

   CFArraySortValues(peopleMutable, CFRangeMake(0, CFArrayGetCount(peopleMutable)), (CFComparatorFunction) ABPersonComparePeopleByName, (void*) ABPersonGetSortOrdering());

   CFIndex personCount = ABAddressBookGetPersonCount(addressBookRef);

以前のiOSでは機能しますが、xcodeを最新バージョンにアップグレードし、デバイスを最新のiOSにアップグレードすると、リターンがゼロになります。私のプロジェクトはARCにありません。

ここで何が起こったのですか?そして、どのように名簿は0を返しますか?

4

1 に答える 1

0

私は同じ問題を抱えていましたが、その理由と解決策を見つけました。その理由は、iOS 6 が連絡先へのアクセスを許可していないためです。

解決策を見つけることができます:

iOS 6 アドレス帳が機能しない?

連絡先へのアクセスをプログラムで要求する

于 2012-10-14T01:12:19.873 に答える