पता पुस्तिका से ई-मेल पते को प्रोग्रामेटिक रूप से पुनर्प्राप्त करने की मेरी विधि अब आईओएस 6 उपकरणों पर काम नहीं कर रही है। यह आईओएस 5 में काम करता है और विचित्र रूप से, अभी भी आईओएस 6 सिम्युलेटर में काम करता है। उपयोगकर्ताओं की पता पुस्तिका से प्रोग्रामेटिक रूप से संपर्क पुनर्प्राप्त करने का कोई नया तरीका है?आईओएस 6 पता पुस्तिका काम नहीं कर रही है?
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
self.contacts = [[NSMutableArray alloc] init];
int contactIndex = 0;
for (int i = 0; i < nPeople; i++) {
// Get the next address book record.
ABRecordRef record = CFArrayGetValueAtIndex(allPeople, i);
// Get array of email addresses from address book record.
ABMultiValueRef emailMultiValue = ABRecordCopyValue(record, kABPersonEmailProperty);
NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailMultiValue);
[self.contacts addObject:emailArray];
}
स्पष्टीकरण के लिए, उपरोक्त क्रैश नहीं होता है, यह केवल कोई परिणाम नहीं देता है। ABAddressBookCopyArrayOfAll लोग खाली हैं। धन्यवाद!
हाँ, तुम सही हो। ABAddressBookRequestAccessWithCompletion() का उपयोग करने की आवश्यकता है। मैं यह कैसे जांच सकता हूं कि यह विधि मौजूद है या नहीं (
Keller