ABPeoplePickerNavigationController

时间:2015-08-28 08:59:19

标签: ios swift abaddressbook crashlytics

我的崩溃日志是here

某些测试人员会发生此崩溃。一位iPhone 6(iOS 8.4.1)的测试人员崩溃,但另一台使用相同设备(也是iOS 8.4.1)的测试人员并没有崩溃。它也适用于模拟器。

我知道以前曾经问过这个问题,但我认为这个问题与ABPeoplePickerNavigationController有关。或者这可能是关于Crashlytics的问题。

我想知道的是:为什么具有相同操作系统的相同设备的工作方式不同?另外,我很欣赏这个问题的任何解决方案?

这是我的代码:

func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, didSelectPerson person: ABRecord!, property: ABPropertyID, identifier: ABMultiValueIdentifier) {
    if property != kABPersonPhoneProperty {
        return
    }

    let phoneNumbers: ABMultiValueRef = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()
    if (ABMultiValueGetCount(phoneNumbers) > 0) {
        let index = ABMultiValueGetIndexForIdentifier(phoneNumbers, identifier)
        let selectedPhoneNumber = ABMultiValueCopyValueAtIndex(phoneNumbers, index).takeRetainedValue() as! String

        let newNumber = "tel:\(phoneNumber)"
        println(newNumber)
        let url = NSURL(string: newNumber)

        if UIApplication.sharedApplication().canOpenURL(url!) {
            //test
            //UIApplication.sharedApplication().openURL(url!)
        } else {
            return
        }
    } else {
        return
    }
}

0 个答案:

没有答案