我正在尝试使用 CNContact 获取本地化的电话标签值。到目前为止,我的尝试:
NSError *error = nil;
CNContactFetchRequest *fetchRequest =[[CNContactFetchRequest alloc] initWithKeysToFetch:keysToFetch];
[addressBook enumerateContactsWithFetchRequest:fetchRequest error:&error usingBlock:^(CNContact * _Nonnull contact, BOOL * _Nonnull stop) {
CNLabeledValue *phoneNumberValue = contact.phoneNumbers.firstObject;
NSString *label = phoneNumberValue.label;
NSLog(@"Phone Label: %@",label); //Logs value like _$!<Home>!$_
CNPhoneNumber *phoneNumber = phoneNumberValue.value;
NSString *phoneNumberString = phoneNumber.stringValue;
NSLog(@"Phone No: %@",phoneNumberString);
}];
问题是电话标签返回原始值,如_$!<Home>!$_
, _$!<Mobile>!$_
。但我需要像Home,Mobile这样的纯文本。有什么方法可以使用 Contact 框架获得本地化的值。我不想使用地址簿,因为它在 iOS 9 中已被弃用。