使用Contacts框架获取带标识符的cngroup

时间:2017-10-08 02:50:42

标签: ios cncontactstore

我使用CNMutableGroup创建了一个组,在创建时,该组的标识符为:

 A9A00074-CA8F-4EA4-8E76-F26C37CB49B4:ABGroup

我将其保存在NSUserDefaults中。

文档说:

  

建议您在重新获取时使用标识符   组。标识符可以在应用程序启动之间保留。

如何使用此标识符来获取组?

如果我这样做:

    CNMutableGroup *group = [CNMutableGroup new];
    group.name=kGroup;

即使组名相同,也会创建新标识符。

我无法设置标识符,因为它是只读的。

我试过了:

 NSPredicate *predicate = [CNGroup predicateForGroupsInContainerWithIdentifier:[[NSUserDefaults standardUserDefaults]objectForKey:@"groupIDentifier"]];
 NSArray *groups = [store groupsMatchingPredicate:predicate error:&saveError];

小组是零。

如何使用标识符访问组?

1 个答案:

答案 0 :(得分:1)

我不知道为什么,但predicateForGroupsWithIdentifiers为我工作:

NSPredicate *predicate = [CNGroup predicateForGroupsWithIdentifiers:@[[[NSUserDefaults standardUserDefaults]objectForKey:@"groupIDentifier"]]];
NSArray *groups = [store groupsMatchingPredicate:predicate error:&saveError];