provisioning profileからName/UUIDを抽出する

  • 6
    Like
  • 1
    Comment
More than 1 year has passed since last update.

やり方

UUIDの抽出

$ xmllint <(security cms -D -i your.mobileprovision) --xpath '/plist/dict/key[text()="UUID"]/following-sibling::string[position()=1]/text()'

Nameの抽出

$ xmllint <(security cms -D -i your.mobileprovision) --xpath '/plist/dict/key[text()="Name"]/following-sibling::string[position()=1]/text()'

解説

  • provisioning profileはそのままだと、plutilコマンドなどでparseできない。
  • securityコマンドで一度textに変換する。
  • 変換結果は Process Substitution を用いて標準出力からファイルディスクリプタとしてかませる
  • xmllintのxpathオプションで対象のKeyの名前のノードの兄弟ノードのテキストを抽出する。