ios - 如何在iOS中以不同于联系人的方式获取手机号码和家庭号码

标签 ios cncontact cncontactstore

<分区>


关闭 7 年前

我已经获取了联系电话,但我只得到一个号码,要么是家庭电话号码,要么是手机号码。如何获取它们?有什么具体的方法吗? 任何帮助将不胜感激。

最佳答案

您可以使用 CNContactPickerViewController。

import UIKit
import Contacts
import ContactsUI

protocol AddContactViewControllerDelegate {
    @available(iOS 9.0, *)
    func didFetchContacts(contacts: [CNContact])
}

class ViewController: UIViewController,CNContactPickerDelegate {

    var delegate: AddContactViewControllerDelegate!

    override func viewDidLoad() {
        super.viewDidLoad()


        if #available(iOS 9.0, *) {
            let contactPickerViewController = CNContactPickerViewController()

            contactPickerViewController.predicateForSelectionOfContact = NSPredicate(format: "phoneNumbers.@count > 0", argumentArray: nil)

            contactPickerViewController.delegate = self

            presentViewController(contactPickerViewController, animated: true, completion: nil)
        } else {
            // Fallback on earlier versions
        }

    }

    // MARK: CNContactPickerDelegate function

    @available(iOS 9.0, *)
    func contactPicker(picker: CNContactPickerViewController, didSelectContact contact: CNContact) {
        print(contact.phoneNumbers)

        if (contact.isKeyAvailable(CNContactPhoneNumbersKey)) {
            for phoneNumber:CNLabeledValue in contact.phoneNumbers {
                let a = phoneNumber.value as! CNPhoneNumber
                print("\(a.stringValue)")
            }
        }

       // delegate.didFetchContacts([contact])
        navigationController?.popViewControllerAnimated(true)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

关于ios - 如何在iOS中以不同于联系人的方式获取手机号码和家庭号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36952214/

上一篇:ios - 添加和删​​除 NSNotificationCenter Observer - UIApplicationDidEnterBackgroundNotification - 正确的方法?

下一篇:ios - 使用 Sinch 或 Twilio 创建随机呼出和呼入调用?

相关文章:

ios - 在 Swift 2.0 Contact Framework iOS 中从 CNContactPicker 获取电子邮件地址

ios - 在 iOS 中创建 VCard 时未获取联系人图像和注释

ios - 如何在 UserDefaults 中保存元组数组

ios - XML 到对象 Objective-C

ios - 如何检查用户是否从我的另一个应用程序安装了我的应用程序? iOS(统一)

ios - 返回带 ABPerson 后缀的联系人标识符

ios - 如何将联系人保存到 iOS 中的联系人应用程序中 - Swift

ios - 从 Facebook 或 gmail 或任何其他云 iOS 获取与 cncontactstore 的联系

ios - CNContact 添加新的联系人问题

ios - 将变量从 iOS 传递到 watchOS