2

CNContact を使用して連絡先の電話番号にアクセスしようとしています。番号を次のようなディジットの単純な文字列として"04xxxxxxxx"取得したいのですが、最も近いのは次のとおりです。(「連絡先」はタイプ CNContact です)

contact.phoneNumbers[0].value
\\Which prints: <CNPhoneNumber: 0x13560a550: countryCode=au, digits=04xxxxxxxx>

私はすべての明白なことを試しましたが、それほど明白なことではありません、ありがとう

4

3 に答える 3

2

誰かがより正当な解決策を持っている場合は、投稿してください。そうでない場合、このかなりハックなアプローチが機能します。

let value = String(contact.phoneNumbers[0].value)

let start = value.rangeOfString("digits=")!.endIndex
let end = value.endIndex.predecessor()

let number = value.substringWithRange(Range<String.Index>(start: start, end: end))
于 2015-11-26T08:27:27.793 に答える
0

このカテゴリを使用すると、swift 経由で電話番号にアクセスできるようになります。このファイルをブリッジングヘッダーに含めることを忘れないでください

@implementation  CNPhoneNumber (SwiftSupport)
- (NSString*)toString {
    return self.stringValue;
}

@end
于 2015-12-17T17:09:49.017 に答える