2016-05-31 19 views
1

私は以下のコードを試しましたが、運はありません。Swift iOS 8のアドレス帳変更通知

if let addressBook = ABAddressBookCreateWithOptions(nil, nil) { 

    let ref = addressBook 
    let callback: @convention(c) (addressBookRef: ABAddressBookRef!, info: CFDictionaryRef!, context: UnsafeMutablePointer<Void>) -> Void = { 
     (addressBookRef, info, context) in 

     print("Address book editr ") 
    } 

    let addressBookChangeCallback = unsafeBitCast(callback, ABExternalChangeCallback.self) 
    ABAddressBookRegisterExternalChangeCallback(ref, addressBookChangeCallback, nil) 
} 
+0

あなたは何をしますか?達成するために? –

+0

私は基本的に、アドレス帳に連絡先の挿入/更新/削除のトリガーが必要です – Arul

+0

もっとコードを提供し、問題を詳細に説明する必要があります。 –

答えて

0

アドレス帳の変更を検出するためにNSNotificationsを追加できます。あなたが使用する必要がありますNSNotificationを追加するには: -

NSNotificationCenter.defaultCenter().addObserver(self, selector: "addressBookDidChange:", name: CNContactStoreDidChangeNotification, object: nil) 

そしてNSNotificationを削除するために: -

NSNotificationCenter.defaultCenter().removeObserver(self, name: CNContactStoreDidChangeNotification, object: nil) 

そして最後に、アドレス帳を変更したときに機能を追加します -

@objc func addressBookDidChange(notification: NSNotification){ 
    //Something You want to do 
} 
0

を最新のAPIを迅速に:

NotificationCenter.default.addObserver(
      self, selector: #selector(addressBookDidChange), name: .CNContactStoreDidChange, object: nil) 
関連する問題