2016-09-12 7 views
1

私のiOSアプリケーションは、コードCNContactがお気に入りであることを確認する方法はありますか?

[[CNContactStore new] requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError *error) { 
    if (granted) { 
    NSArray *keys = @[CNContactNamePrefixKey, 
         CNContactGivenNameKey, 
         CNContactMiddleNameKey, 
         CNContactFamilyNameKey, 
         // ... 
    NSString *containerId = store.defaultContainerIdentifier; 
    NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId]; 
    NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error]; 
    for (CNContact *contact in cnContacts) { 
     // contacts fetching 
    } 
    } 
}]; 

を使用してデバイスから連絡先を取得し、いくつかの値が接触は(Phoneアプリケーションで)デバイス上のお気に入りであることを意味CNContactクラスをしていますか? CNContactキーでこのようなキーが見つかりませんでした。

また、述語には必要なキーが含まれていますか?

答えて

2

Filip Radelicは同じquestionに答え:

お気に入りはPhone.app内部ではなく、アドレス帳データベース自体の内部に格納されています。あなたは非jailbroken iPhone上の他のアプリのサンドボックスにアクセスすることはできませんので、残念ながら答えはノーです。

また、あなたのお気に入りの連絡先をどのアプリでも見ることができれば、プライバシーは非常に悪いです。あなたに尋ねることなくアドレス帳全体にアクセスできることはすでに悪いことです。

関連する問題