Ich versuche, eine Gruppe mit dem Contacts Framework zu erstellen und zu speichern. Zuerst autorisiert der Benutzer die App für den Zugriff auf Kontakte. Ein Viewcontroller wird vorgestellt und mit einer + Schaltfläche wird ein Alertview mit Textfeld angezeigt.neue Gruppe mit Kontakten erstellen Framework, CNErrorDomain Code = 2
Der Benutzer gibt den gewünschten Gruppennamen ein und klickt auf die Schaltfläche des Alertview (speichern).
Dies ist der Code zum Speichern der neuen Gruppe. Der Gruppenname ist vorhanden, aber es ist nicht möglich, diese Gruppe zu speichern sowieso:
CNContactStore *contactStore = [CNContactStore new];
[contactStore requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError *error){
if (granted) {
CNMutableGroup *newGroup = [CNMutableGroup new];
CNSaveRequest *saveRequest = [CNSaveRequest new];
[newGroup setName:groupName];
//when saving to container with identifier nil, we get this error:
//Error Domain=CNErrorDomain Code=2 "(null)" UserInfo={CNInvalidRecords=(
//"<CNMutableGroup: 0x10a059f20: identifier=2F4981B9-8A47-45A4-8841-1FA5A09584A4:ABGroup, name=gghh>"
[saveRequest addGroup:newGroup toContainerWithIdentifier:nil];
[contactStore executeSaveRequest:saveRequest error:&error];
if (error){
//error saving group
//NSLog(@"error message: %@",error);
} else {
//if no errors, reload tableview
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}
}
}];
Error Domain=CNErrorDomain Code=2 "(null)" UserInfo={CNInvalidRecords=(
"<CNMutableGroup: 0x14fb3e5e0: identifier=8E490585-1223-407E-B353-0D25609B05AB:ABGroup, name=jddjd>"
)}
Die nächste Merkwürdige ist: Warum wird die Anfrage :ABGroup
am Ende diese Gruppe
mit der Kennung zu speichern speichern versuchen?
Der Fehler enthält eine Info über CNInvalidRecords
.
Ich verwende nur das Contacts Framework.
Warum passiert das?
Irgendwelche Lösungen dafür?
damit eine neue Gruppe, wenn, sofern iCloud als Standard in den Einstellungen festgelegt> Mail, Kalender, Kontakte. Wenn der Standardwert ein Exchange ist, können keine Gruppen erstellt und gespeichert werden. Und deshalb bekomme ich diesen Fehler. Ich suche nach einer Abhilfe für dieses Problem. – brush51
Laut Apples Dokumentation können Sie keine Gruppe in einem Exchange-Container erstellen. Sie müssen für jede "Gruppe" einen separaten Container erstellen. –
Ja, das ist richtig, aber ich denke, es wäre nicht möglich, einen separaten Container zu erstellen, um eine neue Gruppe zu erstellen und lokal zu speichern, wenn iCloud Sync aktiviert ist. – brush51