no puede get el nombre de contacto utilizando el marco ABAddressBook en IOS Swift 2.0

Estoy usando nuevos contactos de marco para search contactos en iOS 9 y también usar el marco ABAddressBook para search el formulario de nombre de contacto IOS 8.0 pero en iOS IOS 8.0 se bloquea. Estoy usando el siguiente código para verificar la versión de iOS

if #available(iOS 9.0, *) { /*push to Contacts framework */ } else { /* push to ABAddressBook framework */ } 

en Swift 1.2 estoy usando este código para search el nombre de contacto está funcionando bien

 func processContactNames() { var errorRef: Unmanaged<CFError>? var addressBook: ABAddressBookRef? = extractABAddressBookRef(ABAddressBookCreateWithOptions(nil, &errorRef)) var contactList: NSArray = ABAddressBookCopyArrayOfAllPeople(addressBook).takeRetainedValue() contactLists = [] contactEmails = [] contactEmailDetails = [] for record:ABRecordRef in contactList { var contactDetails: NSDictionary! = processAddressbookRecord(record) var emailAddresses: Array<String>! = contactDetails.valueForKey("emails") as! Array if emailAddresses.count > 0 { for email in emailAddresses { var emailDetails: NSDictionary! = ["email":email, "contactIndex":contactEmailDetails.count, "contactName":contactDetails.valueForKey("contactName") as! String, "photo":contactDetails.valueForKey("photo") as! UIImage] contactEmailDetails.append(emailDetails) contactEmails.append(email) } } } } 

y en Swift 2.0 estoy usando esta function. Ahora no funciona bien en xcode 7.

 func processAddressbookRecord(addressBookRecord: ABRecordRef)->NSDictionary { if var contactName: String = ABRecordCopyCompositeName(addressBookRecord)?.takeRetainedValue() as? String { var contactName: String = "" contactName = ABRecordCopyCompositeName(addressBookRecord).takeRetainedValue() as! String let emailAddresses: Array<String>! = processEmail(addressBookRecord) let photo: UIImage! = processPhoto(addressBookRecord) let contactDetails: NSDictionary! = ["contactName":contactName,"emails":emailAddresses,"photo":photo] print(emailAddresses.count) return contactDetails } }