【Mac】キャリアバンドル(ipcc)の作り方

Gadgets

キャリアバンドル

iOSではカスタムキャリアバンドルを取り込むということが可能で、それを用いて本来対応していないデバイスをキャリア通信に対応させるなどが可能です。

例としてはiPhone XなどはRakuten UNLIMITEDに対応していないのですが、このキャリアバンドルの仕組みを使うことで使用可能になります。
こちらはしゅうのブログで紹介されたものです。しゅうのブログではWindowsでのやりかたが説明されいるのですが、Macでのやり方が載っていないので、こちらで紹介させていただきます。

実用例

基本的な仕組み

基本的な仕組みみたいのを説明してますが、実際にやってみてこんな感じなのかな?というものをまとめたものであり、公式ドキュメントなどをみて仕組みを理解したわけではないです。
iOSではSIMの設定に沿ったBundleファイルを読み込んでいるが、それはAppleに認められているSIMのみで、認められていないSIMはunknown.bundleが読み込まれる。
ただこれは適当なBundleファイルでユーザーが設定可能なので、そのBundleファイルを既存のSoftbank, KDDI, docomoのBundleファイルを入れ替えていいかんじに読み込んでもらおうというものだと思います。

やり方

フォルダー作成

デスクトップなどに「Payload」という名前のフォルダーを作成

ファームウェアファイルのダウンロード

ファイルの展開

  1. 一度ダウンロードしたファイル(ipsw)のファイルの拡張子をipswからzipに名前変更で行う
  2. zipファイルになったファームウェアファイルをダブルクリックして展開

必要なファイルを探索

  1. 展開して出てきたフォルダーを開いて一番サイズの大きいdmgファイルをDiskManageMounter.appで開く
  2. 開いたdmgファイルの「/System/Library/Carrier Bundles/iPhone」まで開き必要なBundleファイルをコピー

必要なファイルのBundleファイルの見つけ方

基本的にはSoftbank, KDDI, Docomoという名前のついたファイルのどれかを使用することになると思います。
あとはネットの成功報告をみて決めるのが簡単です。
自分はiPhone X iOS 13.3, iPhone 12 iOS 14.1にてSoftbank, KDDI, Docomoの名前がついたBundleファイルを全て試してみました。
https://zunda-hack.com/2021:01/19/rakuten-unlimit-compare-bundle/

Bundleファイルをペースト&ファイル名変更

  1. 最初に作成したPayloadフォルダーを開いてBundleファイルをペースト
  2. ペーストしたファイルの名前を「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ファイルを読み込ませる

  1. iTunes/Finderを開いてiPhoneの設定を開いて「Optionキー」を押しながら「iPhone/iPadを復元…」を選択
  2. 作成したファイル「Payload.ipcc」を選択して開くをクリック

うまくいったか確認

「設定.app>一般>情報」を開いてキャリアが変わっていれば成功です。(変わっていなくても成功の場合はあります)
最後にデバイスの再起動をして終了です。

コメント

タイトルとURLをコピーしました