私はiOS9 +のみをサポートする新しいiOSアプリケーションを実装しています。このため、新しい連絡先フレームワークを使用して、デバイスに保存されている連絡先の電話番号にアクセスしています。iOS9連絡先フレームワークに電話番号ラベルがありませんか?
CNPhoneNumberは、さまざまなタイプの電話番号のラベルを定義しますが、実際のiOS連絡先画面よりもはるかに小さい種類のリストが含まれています。たとえば私のiPhoneでは、連絡先に「仕事」タイプの番号を追加できますが、対応するCNLabelPhoneNumberWorkラベルはSDKにありません。私は間違った場所を探していますか、これはちょうどそれですか?連絡先にはAppleの "$ !! $"という文字列を私のアプリケーションにハードコードしない限り、私が識別できない番号の束があるかもしれませんか?私が行くと私の連絡先に番号を追加すると
@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
使用可能なタイプのリストははるかに長いです:私の知る限り唯一のこれらのラベルを提供CNPhoneNumberを伝えることができるよう
。
私の問題は、CNLabeledValueの.labelプロパティが実際に私にマップされる必要のある種の識別子のような文字列を与えていることです。だからこのような私のコード: func mapData(number:CNLabeledValue?){ let valueObj = number?.value as? CNPhoneNumber { numberLabel.text = "\(valueObj.stringValue)" } CNLabelPhoneNumberWorkFax numberTitleLabel.text =数?.LABEL } numberTitleLabelは_ $のような文字列なってしまいます!モバイル!$ _ –
'localizedStringForLabel(_ :)'メソッドを試してみませんか? – zcui93
あなたは、電話番号以外のラベルを使って正しい軌道に乗っていました。したがって、CNLabelWorkは '仕事'タイプの電話番号に使用できます。 –