変換の手順
「ファイルを開く」を押すかバイナリ plist をドロップします。XML ソースを確認し、「XML plist をダウンロード」を押します。スマートフォンではソース表示に切り替えられます。拡張子は .plist のままです。
bplist00 をインデント付き XML に変換し、内容の確認や差分比較に利用できます。
バイナリのサンプルまたはファイルを開き、XML を確認してダウンロードします。書式は再生成され、プロファイルの署名は保持・検証されません。
XML とバイナリには同じ Name・Enabled・Count・Created・Data フィールドがあります。バイナリは bplist00 で始まります。開くと Name は Example、Count は整数 3、Data は Hi のバイト列になります。
文字化けだけでは破損とは判断できません。解析エラーは、不完全なダウンロード、未対応形式、plist ではないファイルなどで起こります。拡張子を変えても内容は変換されません。
Python があれば、標準の plistlib で XML とバイナリを読み込めます。このスクリプトは別のファイルに出力します。パスを実際のファイルに変更してください。
import plistlib
with open("input.plist", "rb") as source:
data = plistlib.load(source)
with open("output.plist", "wb") as output:
plistlib.dump(data, output, fmt=plistlib.FMT_XML, sort_keys=False)通常のプロパティリスト向けの例です。UID を含むバイナリアーカイブは plistlib で標準 XML に出力できない場合があります。形式変換ではアプリの設定や暗号学的署名を検証しません。