Posted at

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

More than 3 years have 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の名前のノードの兄弟ノードのテキストを抽出する。