2017-01-20 7 views
7

私は新しい連絡先を作成し、情報を渡すようにユーザーに促そうとしています。 (具体的には電話と電子メール)Swift 3電話とメール情報で新しい連絡先を追加します

私は、CNMutableContactを使用して電子メールを追加する例が多数見つかりました。しかし、CNContactを含むコードのいずれかが私に "宣言されていない型の使用"エラーを与えます。

連絡先を保存するようにクラスを設定するにはどうすればよいですか?

+0

私が試したコードを追加できますか? ?どのようにCNContactに対処するのですか?プロジェクトにlibを追加しましたか? –

+0

私にコードを表示できますか? –

+0

私の答えを確認してください –

答えて

7
func addPhoneNumber(phNo : String) { 
    if #available(iOS 9.0, *) { 
     let store = CNContactStore() 
     let contact = CNMutableContact() 
     let homePhone = CNLabeledValue(label: CNLabelHome, value: CNPhoneNumber(stringValue :phNo)) 
     contact.phoneNumbers = [homePhone] 
     let controller = CNContactViewController(forUnknownContact : contact) 
     controller.contactStore = store 
     controller.delegate = self 
     self.navigationController?.setNavigationBarHidden(false, animated: true) 
     self.navigationController!.pushViewController(controller, animated: true) 
    } 
} 
+2

CNContactViewControllerのエラーこれは何ですか? –

+0

@BijenderSinghShekhawatあなたも連絡先とContactsUIをインポートする必要があります – moonvader

1

このようなことができます。

extension ViewController: CNContactViewControllerDelegate { 

    func showNewContactViewController() { 

     let contactViewController: CNContactViewController = CNContactViewController(forNewContact: nil) 
     contactViewController.contactStore = CNContactStore() 
     contactViewController.delegate = self 
     let navigationController: UINavigationController = UINavigationController(rootViewController: contactViewController) 
     present(navigationController, animated: false) { 
      print("Present") 
     } 
    } 
} 
+1

あなたの答えは私のためにうまく働いています。しかし、 "キャンセル"と "完了"ボタンの代理人を見つけ出すことはできません。 –

関連する問題