13

これまでのところ、CNContact.My attampt を使用して、ローカライズされた電話ラベルの値を取得しようとしています:

    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>!$_しかし、 HomeMobileのようなプレーンテキストが必要です。Contact フレームワークを使用してローカライズされた値を取得する方法はありますか? アドレスブックは iOS 9 で非推奨になったため、使用したくありません。

4

3 に答える 3