在最后一次更新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);
Run Code Online (Sandbox Code Playgroud)
但现在,这段代码引发了警告
Cast to 'void *' from smaller integer type 'ABPersonSortOrdering' (aka 'unsigned int')
在这一行
(void*) ABPersonGetSortOrdering())
Run Code Online (Sandbox Code Playgroud)
我该如何修改此代码?
我实际上看了苹果的论坛,谷歌搜索它,Stackoverflowed它,还没有欢乐.
希望您能够帮助我.
UPDATE
它使用64位接缝与此警告有关.它与我新推出的iPhone 5s相吻合.
我有一个加载网页的应用程序,但阻止下载图像,字体,javascripts等.为此,我实现了一个NSURLProtocol子类,它与UIWebView非常合作.
但是我正在迁移WKWebview,并意识到我的精心设计的NSURLProtocol类不再能够过滤掉这些资源.
有谁知道如何实现过滤/阻止?
如果您想知道我是如何进行迁移的,我开始阅读这篇文章:http://floatlearning.com/2014/12/uiwebview-wkwebview-and-tying-them-together-using-swift/