Я внедряю новое приложение для iOS, которое поддерживает только iOS9 +. Таким образом, мы используем новую структуру контактов для доступа к номерам телефонов для контактов, хранящихся на устройстве.iOS9 Контакты Рамки отсутствуют ярлыки телефонных номеров?
CNPhoneNumber определяет метки для различных типов телефонных номеров, но содержит гораздо меньший список типов, чем фактический экран контактов iOS. Например, на моем iPhone я могу добавить число с типом «Работа» к контакту, но в SDK нет соответствующей метки CNLabelPhoneNumberWork. Я ищу не в том месте или это так, как есть? У контактов может быть куча чисел, которые я не могу определить, если я не закодировал строку «$ !! $$ !! $» в моем приложении?
Насколько я могу сказать CNPhoneNumber только предоставляет эти метки:
@available(iOS 9.0, *)
public let CNLabelPhoneNumberiPhone: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberMobile: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberMain: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberHomeFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberWorkFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberOtherFax: String
@available(iOS 9.0, *)
public let CNLabelPhoneNumberPager: String
Когда я иду и добавить номера к моим контактам список доступных типов гораздо больше.
Моя проблема в том, что свойство .label CNLabeledValue на самом деле дает мне строки, которые выглядят как некоторые идентификаторы, которые необходимо сопоставить.Итак, с моим кодом вот так: func mapData (number: CNLabeledValue?) { если пусть valueObj = номер? .value as? CNPhoneNumber { numberLabel.text = "\ (valueObj.stringValue)" } CNLabelPhoneNumberWorkFax numberTitleLabel.text = номер? .label } numberTitleLabel заканчивает тем, что строка как _ $! Mobile! $ _ –
попробуйте 'localizedStringForLabel (_ :)' метод? – zcui93
Вы были на правильном пути с номерами без телефонных номеров. Поэтому CNLabelWork можно использовать для телефонного номера типа «Рабочий». –