2016-05-14 6 views
3

特定の時間にアドレス帳から連絡先をプログラムで削除しようとしています。それはスウィフトでも可能ですか?アップルは許可していますか?連絡先を電話帳に追加しているので、すでにCNContactStoreに精通しています。連絡先などへのアクセスを許可します。しかし、特定の時間にアドレス帳(永遠)から連絡先をプログラムで削除する方法はわかりません。即時に特定の時間にアドレス帳からプログラムを削除する

ご協力いただきましてありがとうございます。

+0

'実際に私がなぜ – Moritz

答えて

6

REFERENCE:(LINK FROM)

http://www.ios-blog.co.uk/tutorials/swift/contacts-framework-p2/


説明:

削除連絡先

「iOSの連絡先のフレームワークは、(私たちに機能deleteContactを与えます:)をh私たちは連絡先を削除します。あなたがこのチュートリアルを十分に理解していれば、私はプロセスを概説し、試してみることができます。このチュートリアルのようにCNSaveRequest型のオブジェクトをインスタンス化し、先ほど触れたdeleteContact( :)関数を発行し、変更可能な連絡先を渡します。次に、連絡先や更新された連絡先を作成したときと同様に、executeSaveRequest(_ :)を使用します。

削除は削除を意味します。削除された連絡先を再度取得することはできません。これはシミュレータ上重要ではありませんが、ユーザの連絡先を削除しないように安全プロトコルを用意しておく必要があります。

だから、あなたは削除作業を管理できましたか? 。あなたが見ることができるので、[OK]を、ファイン、私は完全なコードを掲載します」


(LINK)からSOLUTION:

let predicate = CNContact.predicateForContactsMatchingName("John") 
let toFetch = [CNContactEmailAddressesKey] 

do{ 
    let contacts = try store.unifiedContactsMatchingPredicate(predicate,keysToFetch: toFetch) 
    guard contacts.count > 0 else{ 
    print("No contacts found") 
    return 
    } 

    guard let contact = contacts.first else{ 

return 
    } 

    let req = CNSaveRequest() 
    let mutableContact = contact.mutableCopy() as! CNMutableContact 
    req.deleteContact(mutableContact) 

    do{ 
    try store.executeSaveRequest(req) 
    print("Success, You deleted the user") 
    } catch let e{ 
    print("Error = \(e)") 
    } 
} catch let err{ 
    print(err) 
} 
+0

なぜNSTimer'を使いたいです?私は説明を必要としますか? – Coder1000

+0

本当にありがとうございました。 D –

+0

@TarvoMäeseppハハ:D助けて嬉しいです! – Coder1000

関連する問題