26
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アーカイブ済みバイナリのプロビジョニングを確認する

Posted at

XcodeからAdHocビルドしてアーカイブした際にiPhone実機にアプリをインストール出来ないことがあった(実機上で<アプリ名>はインストール出来ません、というアラートが出てiTunesからのインストールが出来ない)。そういう時は大抵プロビジョニングプロファイルが間違っているとは思うけど、実際にアーカイブされたipaファイルのプロビジョニングを確認する方法をメモしておく。

まずipaファイルをunzipする。HogeApp_adhocというファイル名の場合は

unzip HogeApp_adhoc.ipa

ipaファイルはzip圧縮されたファイルでDRMにより保護された書庫ファイル、unzipコマンドでなくてもファイル拡張子を.zipなどにすればFinderから展開できるらしい。しらんけど。

unzipするとPayloadディレクトリの下にappファイルがある。

Payload/HogeApp_adhoc.app

appファイルはアプリケーションパッケージなので、その下には画像などのリソースがあり、その中にあるembedded.mobileprovisionを開くとプロビジョニングが指定されている。例えばデバッグ用のプロビジョニングHogeApp_Debugを指定してビルドしていれば以下のようにXMLにより記述されている

<string>HogeApp_Debug</string>
<key>ProvisionedDevices</key>

非開発者端末にAdHocビルドしてアプリをインストールしたかったので、プロビジョニングはDevelopmentのHogeApp_DebugではなくDistributionのものを選ぶべきだった事に気づいてビルドしなおしたら解決。

Apple公式のリファレンス「iOS Code Signing Troubleshooting」が一番詳しく書いてた
http://developer.apple.com/library/ios/#technotes/tn2250/_index.html

上記これがどういう時に役立つかというと、自分以外の誰かにAdHocビルドをお願いしてipaファイルが送られてきた場合、それが正しいプロビジョニングプロファイル(具体的には証明書、AppID、デバイスの組み合わせ)であるかどうかを確認するのに役立つと思う。いや、そこまで出来るならソースコードもらってXcodeでビルドし直そうよと思わないでもない。しらんけど。

参考URL

“The executable was signed with invalid entitlements.” の対処方法
http://blog.fenrir-inc.com/jp/2012/02/the-executable-was-signed-with-invalid-entitlements.html

φ(.. )メモシテオコウ iOS、Androidバイナリに対してコード署名
http://kernhack.hatenablog.com/entry/2013/05/21/233009

iOS アプリのprovisioning profile差し替え方法
http://labs.septeni.co.jp/?p=815

26
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?