我们如何使用 Iphone 应用程序中的 swift 从联系人中获取 phone 号码?

How do we get phone number from contacts using swift in Iphone app?

我有一个应用程序,其中包含名为 "contacts" 的按钮。我必须在单击 it.Also 时访问我的 phone 联系人 我必须从所选联系人那里获得 phone 否。任何人都可以建议一个工作代码吗?

反正我明白了。这是我的做法

//class content

class ViewController: UIViewController, ABPeoplePickerNavigationControllerDelegate, UINavigationControllerDelegate

以下源代码将打开联系人视图,并让用户 select 来自联系人的联系人信息。

@IBAction func OpenContactView(sender: UIButton) {

    self.presentViewController(self.peopleSelector, animated: true, completion: nil);

}

在用户select联系人视图中的某个人之后?将调用 ABPeoplePickerNavigationControllerDelegate 委托的 peoplePickerNavigationController 函数。这是 Swift 示例源代码。

func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController, didSelectPerson person: ABRecord) {

        peoplePicker.dismissViewControllerAnimated(true, completion: nil);



        let index = 0 as CFIndex;



        //Get Name

        var firstName:String?;

        let firstNameObj = ABRecordCopyValue(person, kABPersonFirstNameProperty);

        if(firstNameObj != nil) {

            firstName = firstNameObj.takeRetainedValue() as? String;

        } else {

            firstName = "";

        }



        var lastName:String?;

        let lastNameObj = ABRecordCopyValue(person, kABPersonLastNameProperty);

        if(lastNameObj != nil) {

            lastName = lastNameObj.takeRetainedValue() as? String;

        } else {

            lastName = "";

       }

            //Get Phone Number

        var phoneNumber:String?;

        let unmanagedPhones:Unmanaged? = ABRecordCopyValue(person, kABPersonPhoneProperty);

        if(unmanagedPhones != nil) {

            let phoneNumbers = unmanagedPhones?.takeRetainedValue();

            if(ABMultiValueGetCount(phoneNumbers) > 0) {

                phoneNumber = ABMultiValueCopyValueAtIndex(phoneNumbers, index).takeRetainedValue() as? String;

                phoneNumber = "Phone Number is empty!";

            } else {

                phoneNumber = "Phone Number is empty!";

            }


                self.phoneLabel.text = phoneNumber;

        }

    }