私は2つのtableViewControllerを持っています。最初のものには連絡先のリストがあります。もう一つは詳細な人の情報を示しています。iOSが人の画像を取得できない
第tableViewController
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
NSArray *allPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source,kABPersonSortByFirstName);
for (int i = 0; i < [allPeople count]; i++)
{
...
contactClass = [[ContactClass alloc] initWithName:name surName:surName manID:[allPeople objectAtIndex:i]];
...
}
第tableViewControllerのコード
ABRecordRef person = (__bridge ABRecordRef)contactClass.manID;
BOOL isHasImage = ABPersonHasImageData(person);
可変isHasImageのchunckのコードのチャンクは、接触がアバターを持っている場合でも、常に偽です。私は最初のtableViewControllerでこれをチェックしても、人がアバターを持っていればtrueとimageを返します。
私は連絡先イメージを取得できない理由を知っていますか?
p.s. contactClass.manID
のタイプはid
です。 ABMultiValueRef multiValue = ABRecordCopyValue((__bridge ABRecordRef)contactClass.manID, kABPersonPhoneProperty);
が2番目のtableViewControllerに正しい値を返すため、正しいアドレスがあります
を??? –