キャリアバンドル
iOSではカスタムキャリアバンドルを取り込むということが可能で、それを用いて本来対応していないデバイスをキャリア通信に対応させるなどが可能です。
例としてはiPhone XなどはRakuten UNLIMITEDに対応していないのですが、このキャリアバンドルの仕組みを使うことで使用可能になります。
こちらはしゅうのブログで紹介されたものです。しゅうのブログではWindowsでのやりかたが説明されいるのですが、Macでのやり方が載っていないので、こちらで紹介させていただきます。
実用例
- iPhone 12は通常Rakuten UN-LIMITでの5Gは使用出来ないのですが、Softbank_jpのキャリアバンドルを読み込ませることで5Gを使えるようにする
- iPhone Xは通常Rakuten UNLIMITの全ての機能(通信、電話、SMS)が利用できないのですが、Softbank、KDDI 、docomoなどのキャリアバンドルを読み込ませて利用できるようにする
基本的な仕組み
基本的な仕組みみたいのを説明してますが、実際にやってみてこんな感じなのかな?というものをまとめたものであり、公式ドキュメントなどをみて仕組みを理解したわけではないです。
iOSではSIMの設定に沿ったBundleファイルを読み込んでいるが、それはAppleに認められているSIMのみで、認められていないSIMはunknown.bundleが読み込まれる。
ただこれは適当なBundleファイルでユーザーが設定可能なので、そのBundleファイルを既存のSoftbank, KDDI, docomoのBundleファイルを入れ替えていいかんじに読み込んでもらおうというものだと思います。
やり方
フォルダー作成
デスクトップなどに「Payload」という名前のフォルダーを作成
ファームウェアファイルのダウンロード
ファイルの展開
- 一度ダウンロードしたファイル(ipsw)のファイルの拡張子をipswからzipに名前変更で行う
- zipファイルになったファームウェアファイルをダブルクリックして展開
必要なファイルを探索
- 展開して出てきたフォルダーを開いて一番サイズの大きいdmgファイルをDiskManageMounter.appで開く
- 開いたdmgファイルの「/System/Library/Carrier Bundles/iPhone」まで開き必要なBundleファイルをコピー
必要なファイルのBundleファイルの見つけ方
あとはネットの成功報告をみて決めるのが簡単です。
自分はiPhone X iOS 13.3, iPhone 12 iOS 14.1にてSoftbank, KDDI, Docomoの名前がついたBundleファイルを全て試してみました。
Bundleファイルをペースト&ファイル名変更
- 最初に作成したPayloadフォルダーを開いてBundleファイルをペースト
- ペーストしたファイルの名前を「unknown.bundle」に変更(iOS 13以下であれば「Unknown.bundle」に変更)
圧縮&拡張子変更
Payloadフォルダーを右クリックして「”Payload”を圧縮」を選択
圧縮すると「Payload.zip」という名前のファイルができるので、「Payload.ipcc」に変更
iTunes/Finderの設定変更
ipccファイルを選択できるようにiTunes/Finderの設定を変更します。
ターミナルを開いて以下のコマンドを実行
macOS Catalina以上であれば上のコマンドを実行
macOS Mojave以下であれば下のコマンドを実行
defaults write com.apple.AMPDevicesAgent carrier-testing -bool YES
defaults write com.apple.iTunes carrier-testing -bool YES
iPhone/iPadを探すをオフに
iPhone/iPadで「設定.app」を開いて「iPhone/iPadを探す」をオフにしてください。
ipccファイルを読み込ませる
- iTunes/Finderを開いてiPhoneの設定を開いて「Optionキー」を押しながら「iPhone/iPadを復元…」を選択
- 作成したファイル「Payload.ipcc」を選択して開くをクリック
うまくいったか確認
「設定.app>一般>情報」を開いてキャリアが変わっていれば成功です。(変わっていなくても成功の場合はあります)
最後にデバイスの再起動をして終了です。
コメント