iPhoneの連絡先から連絡先を削除している間にクラッシュしました。 次のコード、理由: ' - [CNContact setSnapshot:]:インスタンスに送信された認識できないセレクタ0x7fc84c8491c0'
CNContactStore * contactStore = [[CNContactStore alloc] init];
CNContactFetchRequest * contactRequest = [[CNContactFetchRequest alloc] initWithKeysToFetch:[self contactKeys]];
[contactStore enumerateContactsWithFetchRequest:contactRequest error:&err usingBlock:^(CNContact * _Nonnull contact, BOOL * _Nonnull stop) {
if([contact.familyName isEqualToString:contactItem.familyName] &&
[contact.middleName isEqualToString:contactItem.middleName] &&
[contact.givenName isEqualToString:contactItem.givenName]) {
CNLabeledValue<CNPhoneNumber*>* number1 = [contact.phoneNumbers firstObject];
CNPhoneNumber *phone = number1.value;
NSString *number2 = [contactItem.phoneNumbers firstObject];
if ([phone.stringValue isEqualToString:number2]) {
CNSaveRequest *deleteRequest = [[CNSaveRequest alloc] init];
[deleteRequest deleteContact:(CNMutableContact *)contact];
CNContactStore *deletestore = [[CNContactStore alloc] init];
[deletestore executeSaveRequest:deleteRequest error:nil];
*stop = YES;
}
}
}];
スレッドがここにクラッシュしてしまった[deletestore executeSaveRequest:deleteRequest error:nil];
を、実行しています! 私は本当にコードの何が間違っているのか理解していない〜それは簡単なスニペットです。 ご協力いただければ幸いです!