2017-01-30 11 views
1

連絡先を編集できるようにするアプリを作成します。Mac OSでCNContactViewControllerを使用して連絡先を編集する方法

the docsによれば、CNContactViewControllerは、iOSとmacOS 10.11+の両方についてプロパティーを持っています。 Xcodeで

CNContactViewControllerは、唯一の財産と非接触の特定のメソッドがあります。

@NSCopying open var contact: CNContact? 

はそれがContactsUIフレームワークを使用してMac上で連絡先を編集することで、すべてのことは可能ですかこれは、ドキュメント内のエラーですか?

これは私が連絡先を表示する方法である:

if let vc = segue.destinationController as? CNContactViewController{ 

    let contact = CNMutableContact() 
    contact.givenName = "John" 
    contact.familyName = "Appleseed" 

    let homeEmail = CNLabeledValue(label:CNLabelHome, value:"[email protected]" as NSString) 
    let workEmail = CNLabeledValue(label:CNLabelWork, value:"[email protected]" as NSString) 
    contact.emailAddresses = [homeEmail, workEmail] 

    contact.phoneNumbers = [CNLabeledValue(
     label:CNLabelPhoneNumberiPhone, 
     value:CNPhoneNumber(stringValue:"(408) 555-0126"))] 

    let homeAddress = CNMutablePostalAddress() 
    homeAddress.street = "1 Infinite Loop" 
    homeAddress.city = "Cupertino" 
    homeAddress.state = "CA" 
    homeAddress.postalCode = "95014" 
    contact.postalAddresses = [CNLabeledValue(label:CNLabelHome, value:homeAddress)] 

    var birthday = DateComponents() 
    birthday.day = 1 
    birthday.month = 4 
    birthday.year = 1988 // You can omit the year value for a yearless birthday 
    contact.birthday = birthday 
    vc.contact = contact 
} 

ただし、編集ボタンが利用可能ではありません。

no-edit-button

答えて

1

私はこの下に約アップルに聞いて、私の開発者クレジットのいずれかを使用Sierra、そして返信は、まだ '編集'機能がmacOSの下では実装されていないということでした。私はレーダーを提出することが提案された(私がやった)。私はHigh Sierraのために更新されることを期待していましたが、まあ、そのようなAPIはまだありません。

実際の 'allowsEditing'リンクをクリックすると、このAPIではiOS(現在のところ)の下にのみ表示されます。残念 - 私は実際に連絡先コードのために私のアドレス帳コードを削除することを楽しみにしていますが、私はまだできません。

関連する問題