スニピット:
NSString *phoneNumber = (NSString *) [[NSUserDefaults standardUserDefaults] objectForKey:@"SBFormattedPhoneNumber"]; // Will return null in simulator!
NSLog(@"Formatted phone number [%@]", phoneNumber);
[最近] このコードを OS 2.2.1 [および OS 3.0] でそのまま実行しました。
デバイスで実行すると期待どおりに動作し、完全な国際ダイヤル コード [私の場合は 1] を含む電話番号を返します。
シミュレーターで実行すると、[返される] 値は null 文字列になるため、実際の iPhone デバイスでのみ機能します。
iPod Touch ではテストしていません。
...
今週、別のデバイスでこのコードを実行したところ、数値ではなく null 値が返されました。
さらに調査したところ、このコード スニピットによって返された番号は、iTunes でデバイス用に設定された番号であることがわかりました。
デバイスのアクティベーション時に iTunes に iPhone の番号を入力しなかった場合、またはおそらく (私の場合のように) デフォルト値が iPhone の番号ではなく、とにかく [OK] をクリックした場合、iTunes は電話番号をリストしないようにします。 iPhone が接続されている場合、このコードは null 文字列を返します。
[上記は、このトピックに関する別の記事http://www.alexcurylo.com/blog/2008/11/15/snippet-phone-number/に最近投稿したコメントを編集したものです]