iOS 4アドレスブックの3つのソース(1つのMobileMeソースと2つ*のExchangeGALソース)で人々を獲得しようとしています。
NSLogステートメントはExchangeGALの場合は常に0人を返しますが、MobileMeの場合は人数を返します。
ABAddressBookCopyArrayOfAllSources(addressBook)を使用してiOSアドレスブックからすべてのソースを取得した後、ソースごとにソースを反復処理して、各ソースの詳細情報を取得しようとしています。
ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrderingを正しく使用していますか?
さまざまなアドレス帳ソースのすべての人の数を期待します。
-(void)countPeopleInSources
{
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allSources = ABAddressBookCopyArrayOfAllSources(addressBook);
for (CFIndex i = 0; i < CFArrayGetCount(allSources); i++)
{
ABRecordRef source = (ABRecordRef)CFArrayGetValueAtIndex(allSources, i);
NSNumber *sourceTypeRef = (NSNumber *)((CFNumberRef)ABRecordCopyValue(source, kABSourceTypeProperty));
ABPersonSortOrdering sortOrdering = ABPersonGetSortOrdering();
int sourceType = [sourceTypeRef intValue];
switch (sourceType) {
case kABSourceTypeCardDAV:
NSLog(@"SourceTypeCardDAV");
break;
case kABSourceTypeCardDAVSearch:
NSLog(@"SourceTypeCardDAVSearch");
break;
case kABSourceTypeExchange:
NSLog(@"SourceTypeExchange");
break;
case kABSourceTypeExchangeGAL:
NSLog(@"SourceTypeExchangeGAL");
break;
case kABSourceTypeLDAP:
NSLog(@"SourceTypeLDAP");
break;
case kABSourceTypeLocal:
NSLog(@"SourceTypeLocal");
break;
case kABSourceTypeMobileMe:
NSLog(@"SourceTypeMobileMe");
break;
default:
break;
}
CFArrayRef allPeopleInSource = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, sortOrdering );
NSLog(@"Count allPeopleInSource: %i", CFArrayGetCount(allPeopleInSource));
[sourceTypeRef release];
}
}
2月24日編集:コードは機能しているようですが、ExhangeGALからユーザーをカウントするのに問題があります。
anyouneはExchangeGALから人を正常に取得しましたか?
MobileMeソースは人の数を報告します。
コンソールからのログは次のとおりです。
2011-02-24 07:04:32.578 Contacts[10099:307] SourceTypeExchangeGAL
2011-02-24 07:04:32.593 Contacts[10099:307] Count allPeopleInSource: 0
2011-02-24 07:04:32.597 Contacts[10099:307] SourceTypeMobileMe
2011-02-24 07:04:32.641 Contacts[10099:307] Count allPeopleInSource: 151
2011-02-24 07:04:32.646 Contacts[10099:307] SourceTypeExchangeGAL
2011-02-24 07:04:32.652 Contacts[10099:307] Count allPeopleInSource: 0