Sadece iOS9 + 'yu destekleyen yeni bir iOS uygulaması uyguluyorum. Böylece, cihazda kayıtlı kişiler için telefon numaralarına erişmek için yeni kişiler çerçevesini kullanıyoruz.iOS9 İletişim Çerçeve eksik telefon numarası etiketleri?
CNPhoneNumber, farklı telefon numaraları etiketlerini tanımlar, ancak gerçek iOS kişileri ekranından çok daha küçük bir tür listesi içerir. Örneğin iPhone'umda bir kişiye "Çalışma" türü dışında bir sayı ekleyebiliyorum ancak SDK'da karşılık gelen CNLabelPhoneNumberWork etiketi yok. Yanlış yere mi bakıyorum yoksa bu sadece böyle mi? Kişiler, Apple'ın "$ !! $" dizesini uygulamamın dışında kodlamadığım sürece bir dizi numaraya sahip olabilir.
Bildiğim kadarıyla CNPhoneNumber söyleyebilirim sadece bu etiketleri sağlamaktadır:
@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
Gidip Kişilerime mevcut türlerinin listesini numaraları eklemek çok daha uzundur.
Benim sorunum, CNLabeledValue .label özelliğinin, aslında, eşlenmesi gereken bazı tanımlayıcılara benzeyen ipler vermesidir.Yani benim kodumda bu gibi: func mapData (sayı: CNLabeledValue?) { eğer valueObj = number? .value as? CNPhoneNumber { numberLabel.text = "\ (valueObj.stringValue)" } CNLabelPhoneNumberWorkFax numberTitleLabel.text = sayı? .label } numberTitleLabel _ $ gibi bir dize olmak biter! Mobil! $ _ –
localizedStringForLabel (_ :) 'yöntemini deneyin? – zcui93
Telefon dışı numara etiketleri ile doğru yoldasınız. Bu nedenle, CNLabelWork, 'İş' tipi telefon numarası için kullanılabilir. –