Tuesday, March 16, 2010

iPhoneで時刻自動設定

先日のNexus One時刻同期記事のおまけなんですが。
iPhoneでの時刻自動設定の話。

iPhoneには時刻の自動設定機能があります。
この機能は携帯電話キャリアが携帯電話ネットーワーク上に流しているNITZ(Network Identity and Time Zone)というものを使って実現されています。
つまり、携帯電話キャリアがNITZを流していないと利用できません。

日本で正規にiPhoneを購入するとキャリアはソフトバンクモバイルになりますが、ソフトバンクはNITZを流しておらず、時刻の自動設定はできません。
実際、ソフトバンク用のCarrier Bundleファイル(/System/Linrary/Carrier Bundles/Softbank_jp.bundle/carrier.plist)ではNITZサポートを使わないような設定になっており、設定画面には自動設定の項目が表示されません。

さて、ここでiPhoneをjailbreak, sim unlockしてdocomo SIMを使ったらどうなのかという実験をしました。
(jailbreakやunlockは自己責任でどうぞ)

iPhone 3GS OS 3.1.2をPwnage Tool 3.1.5 でJB, Cydia から blacksn0w, NTTdocomo Carrier bundleをインストール。
docomo SIMを差して通話ができることを確認したものの、CydiaにあるCarrier bundleはNITZが無効になっているので、時刻の設定に自動設定がでてきません。

iFileなどをつかって/System/Library/Carrier Bundles/docomo_jp.bundle/carrier.plistを編集します。
SupportsNITZていうkeyのがあるのでfalseをtrueに変更し、保存します。
(※ 2010/04/05 追記: 現在CydiaにあるNTTdocomo Carrier bundle 0.8-0で有効(true)になっているようです)


設定に自動設定がでてきます。

適当に時計をずらしてから、オンにすると直ちに時刻が修正されるのがわかります。

というわけで、iPhoneでもdocomo SIMなどNITZに対応したキャリアなら時刻の自動設定ができました。
まぁiPhoneはiTunesと同期するときに時刻も同期するし、JBしているならばOpenNTPdだとかいくつか時刻同期ツールもあるわけですが…。

No comments: