読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

iOSアプリをビルド無しで再署名の方法

iOS

ブログを担当する戸田です。今回はiOSアプリ(iPAファイル)の再署名について紹介していきます。

iOSアプリの開発を行っていると「Apple Developer Program」の証明書にて有効期限が設定されているため、証明書の期限が切れてしまうとiOSアプリを利用することができなくなります。iOSアプリを再利用するには、証明書を更新後に再ビルドを行う必要があります。そのため、ビルドに時間が掛る場合やビルド環境がない場合でも行える方法になります。

iPAファイルを展開する。

「unzip」コマンドで、iPAファイル(sample.ipa)を展開します。

$ unzip sample.ipa

Entitlementsファイルを作成

「codesign」コマンドから再署名に必要になるentitlementsファイルを作成します。

$ codesign -d --entitlements :- Payload/Sample.app > entitlements.plist

Provisioning Profileを更新

Apple Developerから更新したProvisioning ProfileをDownloadをして、「cp」コマンドを利用して、Provisioning Profileを上書きします。

$ cp -p Sample.mobileprovision ./Payload/Sample.app/embedded.mobileprovision

再署名を実施

署名には「codesign」コマンドを利用します。また、証明証の設定は、「'iPhone Developer: XXXXXXX'」の部分に適応したい証明書の名称を設定します。

codesign --force --sign 'iPhone Developer: XXXXXXX' --entitlements entitlements.plist 'Payload/Sample.app'

コマンドの実行後にreplacing existing signatureと表示されたら再署名の成功になります。

Zipで圧縮

iPAファイルはZipで圧縮したファイルのため、「zip」コマンドを利用してiPAファイルを作成します。

$ mkdir new-ipa
$ zip -ry new-ipa/Sample.ipa Payload

その後、iPAファイルをデバイスにインストールして、アプリが利用出来るようになります。