上次更新到 Xcode 5.1 后,Apple 的地址簿排序示例代码停止工作。网址:https ://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html
示例代码
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFMutableArrayRef peopleMutable = CFArrayCreateMutableCopy(
kCFAllocatorDefault,
CFArrayGetCount(people),
people
);
CFArraySortValues(
peopleMutable,
CFRangeMake(0, CFArrayGetCount(peopleMutable)),
(CFComparatorFunction) ABPersonComparePeopleByName,
(void*) ABPersonGetSortOrdering()
);
CFRelease(addressBook);
CFRelease(people);
CFRelease(peopleMutable);
但是现在,这段代码引发了一个警告
Cast to 'void *' from smaller integer type 'ABPersonSortOrdering' (aka 'unsigned int')
在这一行
(void*) ABPersonGetSortOrdering())
我应该如何修改这段代码?
实际上,我查看了 Apple 的论坛,在 Google 上搜索过,在 Stackoverflow 上搜索过,但还没有任何乐趣。
希望您能够帮助我。
更新
使用 64 位的接缝与此警告有关。它与包含我的新 iPhone 5s 不谋而合。