#はじめに
ipaにしてから、releaseだっけ、adhocだっけと迷ったのです。
#方法
確認の方法は次のいずれかで調べることができます。
(1)codesighコマンド
(2)embedded.mobileprovision
個人的には
(1)で行うことはほとんどなかったりします。
ipaファイルを解凍後に(2)をmiエディタで確認しています。
##codesignコマンド
- ipaファイルの拡張子をzipに変更し解凍
- Payloadフォルダにappファイルが含まれる形で展開される
- 取り出したappファイルをcodesignコマンドで実行
$ codesign -d --entitlements :- hogehoge.app
###:-
について
(2015/3/20 追記)
コメントでご指摘をいただいて追記しました。
codesign の pathに指定しているパラメータは
:
("blob")headerに対応。
-
標準出力
:
をつけることで出力時に文字化けて出力されるバイナリを削って出力してくれます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>FAEH9523ZZ.jp.co.hoge.tap.2014.ImageViewer</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>FAEH9523ZZ.jp.co.hoge.tap.2014.ImageViewer</string>
</array>
</dict>
</plist>
###分かること
push通知の設定があればdeveloper用とproduction用の区別
###分からないこと
adhocとreleaseの区別
##embedded.mobileprovision
署名に使ったプロビジョニングファイルがappファイルにそのまま入っています。
- ipaファイルの拡張子をzipに変更し解凍
- Payloadフォルダにappファイルが含まれる形で展開される
- appファイルを右クリックし、"パッケージの内容を表示"を選択
- embedded.mobileprovisionを見つけて開く
プロビジョニングファイルそのものです。ファイル名もkeyとしてはいっています。
###分かること
- push通知の設定
- デバイス登録されている端末
- プロビジョニングファイルが生成された日時
などなど
###Appleへの申請用とadhocの違い
デバイス登録されている端末情報(ProvisionsAllDevices)で判断しています。追加されていなければreleaseかなと。
#参考
https://developer.apple.com/library/mac/qa/qa1798/_index.html
#さいごに
プロビジョニングファイルの指定についてはビルド時とipaとして書き出す時の二回あります。
アーカイブしたときに保存されるXcode Archiveという形式にするときと
Xcode Archiveからipaを作成する場合で、Archive時に指定した別プロビジョニングファイルと差し替えのためでした。