gpt4 book ai didi

ios - 如何从 CNContactStore ios 获取 RecordID

转载 作者:可可西里 更新时间:2023-11-01 05:32:55 25 4
gpt4 key购买 nike

这是我获取设备的联系人并保存到 MutableArray 的代码。

但我需要单独获取所有联系人的 recordID 并保存到同一个数组中以供进一步使用。 (例如,使用 recordId 删除联系人)。

请帮帮我,我在这上面卡了 4 天。

[contactStore enumerateContactsWithFetchRequest:request error:nil usingBlock:^(CNContact* __nonnull contact, BOOL* __nonnull stop){
if( contact.phoneNumbers)
phoneNumber = [[[contact.phoneNumbers firstObject] value]];
if( contact.emailAddresses)
emailAddress = [[contact.emailAddresses firstObject] value];
contactValue=[[NSMutableDictionary alloc] init];
[contactValue setValue:phoneNumber ?:@"" forKey:@"phoneNumber"];
[contactValue setValue:emailAddress ?:@"" forKey:@"emailAddress"];
[contactValue setObject:contact.identifier forKey:@"phoneIdentifier"];
[contactValue setObject:contact.givenName ?:@"" forKey:@"firstName"];
[contactValue setObject:contact.familyName ?:@"" forKey:@"lastName"];

[_totalContact addObject:contactValue];
}]

最佳答案

根据你的问题陈述,我了解到你想根据 identifier 从通讯录中删除一个 contact em>联系。当您拥有 identifier 时,您需要做的就是:

- (void)deleteContactWithIdentifier:(NSString *)identifier {

NSArray *keys = @[CNContactGivenNameKey,
CNContactPhoneNumbersKey,
CNContactEmailAddressesKey,
CNContactIdentifierKey];
CNMutableContact *contact = [[store unifiedContactWithIdentifier:identifier keysToFetch:keys error:nil] mutableCopy];
NSError *error;
CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init];
[saveRequest deleteContact:contact];
[store executeSaveRequest:saveRequest error:&error];
}

关于ios - 如何从 CNContactStore ios 获取 RecordID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40585659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com