我正在使用APAddressBook,这有助于我以简单的方式使用地址簿。是的我知道Contacts和ContactsUI框架现在都在那里,但它们是iOS9 +,我也想支持iOS8。
我遇到的问题是,它只给我一个记录ID作为Int
来识别联系人。我现在想要打开ABPersonViewController
来查看联系人的详细信息。我需要ABRecord
才能执行此操作。我试图自己解决一些问题,这就是结果,这给了我一个EXC_BAD_ACCESS
错误。
let apContact: APContact = ...
let recordId = ABRecordID(apContact.recordID.intValue)
let ab = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
let abRecord = ABAddressBookGetPersonWithRecordID(ab, recordId).takeRetainedValue()
let controller = ABPersonViewController()
controller.displayedPerson = abRecord
navigationController?.pushViewController(controller, animated: true)
欢迎任何有关如何以正确方式进行的建议!