.ipaファイルに含まれているProvisioning Profileの内容を出力するシェルスクリプト(Mac)

仕事でEnterprise用のiOSアプリを開発していて、アプリに含まれているProvisioning Profileを確認したい場面に遭遇しました。
手動で.ipaファイルから引っこ抜くこともできるのですが、毎回行うのは地味に手間です。

そこで、.ipaファイルのパスを渡すとそれに含まれているProvisioning Profileの内容を出力するシェルスクリプトを実装しました。

環境

  • OS:macOS High Sierra 10.13.3

シェルスクリプト

output_pp.sh
#!/bin/bash

# ----------------------------------------
# iOSアプリに含まれているProvisioning Profileの内容を出力する
# 引数:$1 .ipaファイルのパス
# 戻値:なし
# 動作条件:パスに改行や日本語が含まれていない
#     :.app名が.ipa名と同様
# ----------------------------------------

readonly IPA_DIR_PATH=$(dirname $1)
readonly APP_NAME=$(basename $1 .ipa)

# output Provisioning Profile
cp ${IPA_DIR_PATH}/${APP_NAME}.ipa ${APP_NAME}.zip
unzip ${APP_NAME}.zip
security cms -D -i Payload/${APP_NAME}.app/embedded.mobileprovision

# teardown
rm -r Payload
rm ${APP_NAME}.zip


exit

使い方

デスクトップに output_pp.sh○○.ipa が存在する場合の例です。
ターミナルで以下を実行するのみです。

$ cd ~/Desktop/
$ sh output.sh ○○.ipa

注意点

  • 理由はわかりませんが、拡張子を .ipa のまま unzip すると embedded.mobileprovision が解凍されませんでした。
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.