iOS 4からキャリアバンドルの扱いが変更され、CommCenterが〝署名が必要〟と見なしているキャリアでバンドルに正当な署名が見つからない場合、そのキャリアバンドルを拒否するようになりました。これに伴ってソフトバンクモバイルのUSIMカードでは、署名のあるなしに関わらずAPN情報を含むmobileconfigのインストールも正しく終了しなくなりました(APN情報が使用されない)。
最初からキャリアと紐付いたソフトバンクモバイル版のiPhoneだけ制限してくれればいいのですが、困ったことにこの制限はHNI (=Home Network Identity; MCC+MNC, IMSIの先頭5桁)が〝44020〟であるUSIMカード全体に適用されてしまうので、SIMフリー版のiPhoneでも影響を受けてしまいます。
つまり、iOS 4のiPhoneでは、ソフトバンク『プリモバイル』(白SIM)や通常契約(赤/銀SIM)を利用しようとすると音声通話しか使えないことになります。本来であれば3Gデータ回線を利用しないSMSは通るはずなのですが、ソフトバンクモバイルのキャリアバンドルにはMMS利用に関するフラグが立っているためか、SMSも正常に送達できません。
すでにiOSをJailbreakしていれば、iOS 4.x向けにCommCenterの署名検証ルーチンを回避するパッチが出ていますので、パッチを適用すればダミーの署名を付けたキャリアバンドルを使用させることが出来るようになります。パッチを適用すればAPNが変更できるため、MMSが利用可能になります(通常契約SIMでは3Gデータ通信も利用可能となります)。
以下では、このパッチを使用してソフトバンクモバイル『プリモバイル』のUSIMカードでMMSを送受信するための手順を紹介します。
本稿の目的としては、ソフトバンクモバイルから販売されたiPhone 3G/3GS向けのトピックではなく、あくまでもSIMフリーとして販売された(海外向けの)iPhoneをソフトバンクモバイルのプリペイドSIMで使用する場合の対応策を示すものです。
手順などはおそらくiPhone 4でも同様ですが、筆者はiPhone 4を所持していないので正確には分かりません(発売後の香港がゴタゴタしているのでいつ入手できるのかも分かりません)。