iOS / Android Dev Tools

プロビジョニングプロファイル確認XMLの中身を確認

手元のファイルを選ぶか、合成サンプルで試してください。解析後は概要、権限、フィールドツリー、XMLを切り替えられます。

プロビジョニングプロファイル確認

プロファイル

.mobileprovisionまたは.provisionprofileを1つドロップ。上限5 MiB。

ファイル未選択

結果

このタブ内で読み取ります。ツールはファイルを送信・保存しません。

設定

既知の端末文字列を置換し、バイナリデータを空にします。チームやアプリなどは残ります。変更後は再解析が必要です。

ファイルを選んで解析してください。

署名、証明書、失効、インストール可否は検証しません。

保存するのは署名のないXMLコピーで、インストール用プロファイルではありません。

プロビジョニングプロファイル確認は、同名のファイルを取り違えたときや、テスト端末にアプリが入らないときの切り分けに役立ちます。ダウンロードした最新のファイルだけでなく、実際のアプリに埋め込まれたものを取り出して比較するのが出発点です。

CMSの構造をたどって内包されたXMLを読みます。バイナリの中から偶然見つかったXML断片を採用する方式ではありません。現行のシステムはDER-Encoded-Profileを判断の根拠にする場合があり、このページは外側の読みやすい情報を調べるためのものです。

プロビジョニングプロファイル確認を使う理由

概要から元のキーへ戻れる

プロビジョニングプロファイル確認ではチーム、アプリ識別子、有効期限をまとめて読み、必要なら元のキーのパスへ移れます。Entitlementsを別に表示するため、文字列と真偽値を混同せずにプロファイルの内容を追えます。

ファイルの容器が開き、識別情報、カレンダー、権限の枝を持つツリーになる図。

表示と保存で同じ識別子を隠す

デバイスのUDIDは既定で置き換えられ、ほかの文字列に再登場しても隠されます。バイナリに端末情報の別コピーがある可能性があるためdataの中身も省略します。チーム名などは残るので匿名化ではありません。

画面と保存用文書の端末行だけにマスクが掛かり、ほかの項目は残る図。

実際に配布したファイルを調べる

01

サンプルと本物を区別する

アプリ内のembedded.mobileprovisionを取り出して比較します。合成サンプルには署名者がなく、表示を試すためだけのデータです。Appleが発行したファイルとしてインストールできません。

02

設定変更後はもう一度解析する

識別子を隠す設定を変えると、古い結果とエクスポートが無効になります。解析ボタンかCtrl/Cmd + Enterで再実行してください。表示タブの切り替えだけでは解析内容は変わりません。

03

長い一覧は枝ごとに開く

辞書や配列のパスを押すと子項目を折りたためます。ツリーは50行ずつ追加しますが、保存対象は現在のXML全体です。クリアとファイルの置換にはプレビューと1回の取り消しがあります。

エラーの手掛かりをキー単位で読む

チームとアプリの識別情報

Name、UUID、TeamName、TeamIdentifierを概要で確認できます。Bundle IDはapplication-identifierの最初の接頭辞を除いて導出し、macOS用のキーにも対応します。ワイルドカードはそのまま残り、欠けた値を補完しません。

権限の型を保つ

Entitlementsは専用ビューで読めます。配列、辞書、真偽値、整数、日付、dataを区別します。ここにあるのはプロファイルが許す範囲であり、アプリの署名に実際に書き込まれた権限の一覧ではありません。両者の一致も検証しません。

期限と比較時刻を併記する

CreationDateとExpirationDateはUTCの値を表示し、解析時点のブラウザーの時刻と比較します。期限切れ、未到達、不明を区別し、日付がない場合は推測しません。端末の時計がずれていれば比較にも影響します。

読みやすいplistを書き出す

SignedData内のXMLを取り出し、キー順と値の型を維持して保存します。識別子を隠す設定では文字列を置換し、data要素は空にします。完全な値が必要な場合は設定を外し、元のファイルから再解析してください。

読み取りで分かることの範囲

署名とインストールは検証しない
CMS署名、証明書チェーン、失効、Appleの信頼判定、アプリを端末に入れられるかは調べません。署名者がゼロの容器はその旨を表示します。解析成功は対応する構造を読み取れたという意味に限られます。
内部DERの意味は解析しない
現行システムが根拠にするDER-Encoded-Profileは内部の意味まで読み解きません。XMLとの一致も保証しません。未知のキーは値を保ったまま見せ、用途や配布方式を推定してラベルを付けることはありません。
入力はCMS内のXMLに限定する
UTF-8のXML plistを内包するCMS SignedDataを1ファイルずつ読みます。定長・不定長BERと構築型オクテット列に対応します。単体のXML、バイナリplist、分離コンテンツ、暗号化CMSは拒否し、IPAやP12、URLも読みません。
マスクしても匿名にはならない
ProvisionedDevicesの識別子と、その文字列がキーや値に再登場する箇所を置き換えます。すべてのdataを空にしますが、名前、チーム、Bundle IDなどは残ります。共有前に内容を読み直し、完全な値が必要なときだけ設定を外してください。
サイズ制限と保存形式
入力は5 MiBまで、各パーサーは10000ノード・64階層まで、生成XMLは10 MiBまでです。重複キーや型に合わない値はエラーにします。書き出すplistにはCMS署名がないため、日付を変えても更新済みプロファイルにはなりません。

プロビジョニングプロファイル確認のFAQ

mobileprovisionファイルを開くには?

ファイルを選択して解析を実行します。CMSの構造を確認してから内側のXML plistを読み取ります。テキストエディターで一部が読めても、外側の容器が正しく構成されていることの証明にはなりません。

プロファイルに含まれるUDIDは確認できますか?

フィールドツリーでProvisionedDevicesを開きます。既定では台数だけを残して識別子を隠します。実際の値はマスクを外して再解析すると読めます。デバイス一覧がないことを「すべての端末で動作する」とは解釈しません。

プロファイルが期限切れか確認するには?

概要のExpirationDateと比較時刻を見てください。期限が過ぎたかは分かりますが、署名や証明書が現在受け入れられるかまでは分かりません。信頼性の確認はAppleのプラットフォーム側のツールで行ってください。

IPAの作成に使われたプロファイルを調べるには?

開発用やAd HocのIPAを自分で展開し、Payload内のアプリからembedded.mobileprovisionを取り出します。このページにIPAを直接渡すことはできません。App Storeで配布されたアプリには含まれない場合があります。

プロファイルの有効期限は変更できますか?

保存したXMLの日付を書き換えても、Appleが署名したファイルの期限は延びません。必要に応じて開発者アカウントまたはXcodeで新しいプロファイルを生成し、そのファイルを使ってアプリを再ビルドしてください。

読み取りについて不足している点はありますか?

次の不一致をフィールドから調べる

プロビジョニングプロファイル確認で、ビルドに使われたチーム、端末一覧、許可された権限を整理できます。XMLは調査用の記録として扱い、信頼や署名の最終確認にはAppleのツールを使ってください。