Carrier Profiles configure your smartphone for mobile networks. I'm not sure if Carrier Profiles are just a legacy or are actually required nowadays, since all configuration should be done through the mobile network itself.
You'll find things in there like:
- enable VoLTE for specific carriers
- disable some bands (makes sense if your carrier isn't transmitting there)
- …
Download the list of all IPCCs:
wget http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version -I ipcc_index.xml
In your favorite editor, search for your carrier (either by name or MCCMNC). You'll find entries like this:
<key>O2_Germany</key>
<dict>
<key>14.3</key>
<dict>
<key>BuildVersion</key>
<string>45.1</string>
<key>BundleURL</key>
<string>https://updates.cdn-apple.com/2021/carrierbundles/071-13825/6E151D7D-0DFA-423B-B136-71B9F7E8F6FF/O2_Germany_iPhone.ipcc</string>
<key>Digest</key>
<data>
J/dPdud983GctglhA5nmlhHmKp0=
</data>
</dict>
Download the bundle:
wget https://updates.cdn-apple.com/2021/carrierbundles/071-13825/6E151D7D-0DFA-423B-B136-71B9F7E8F6FF/O2_Germany_iPhone.ipcc
It's a zip:
$ file O2_Germany_iPhone.ipcc
O2_Germany_iPhone.ipcc: Zip archive data, at least v1.0 to extract
This unpacks to Payload/
:
$ unzip O2_Germany_iPhone.ipcc
Archive: O2_Germany_iPhone.ipcc
creating: Payload/
creating: Payload/O2_Germany.bundle/
inflating: Payload/O2_Germany.bundle/carrier.plist
inflating: Payload/O2_Germany.bundle/Info.plist
inflating: Payload/O2_Germany.bundle/overrides_D101_D111.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D101_D111.plist
inflating: Payload/O2_Germany.bundle/overrides_D10_D11.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D10_D11.plist
inflating: Payload/O2_Germany.bundle/overrides_D201_D211_D221.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D201_D211_D221.plist
inflating: Payload/O2_Germany.bundle/overrides_D20_D21_D22.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D20_D21_D22.plist
inflating: Payload/O2_Germany.bundle/overrides_D321_D331_N841.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D321_D331_N841.plist
inflating: Payload/O2_Germany.bundle/overrides_D421_D431_N104_D79.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D421_D431_N104_D79.plist
inflating: Payload/O2_Germany.bundle/overrides_D52g_D53g_D53p_D54p.der.pri
inflating: Payload/O2_Germany.bundle/overrides_D52g_D53g_D53p_D54p.plist
inflating: Payload/O2_Germany.bundle/overrides_N66_N71.der.pri
inflating: Payload/O2_Germany.bundle/overrides_N66_N71.plist
inflating: Payload/O2_Germany.bundle/overrides_N69.plist
inflating: Payload/O2_Germany.bundle/overrides_N69.pri
creating: Payload/O2_Germany.bundle/signatures/
inflating: Payload/O2_Germany.bundle/signatures/common.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D101_D111.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D10_D11.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D201_D211_D221.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D20_D21_D22.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D321_D331_N841.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D421_D431_N104_D79.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_D52g_D53g_D53p_D54p.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_N66_N71.plist
inflating: Payload/O2_Germany.bundle/signatures/overrides_N69.plist
inflating: Payload/O2_Germany.bundle/version.plist
plist
files are binary-packed XML files and can be unpacked with plistutil
:
apt install libplist-utils
$ cd Payload/O2_Germany.bundle
$ for i in $(ls *plist); do plistutil -i $i -o $i.xml; done
There you go!
### في الواقع، الأمر يستحق التأمل. وهذا أمر يتطلب القوة في التطوير.
Indeed, it is worth contemplating. It is something that requires strength in development .