サイドロード用にIPAファイルを再署名する方法
IPAファイルの再署名が必要な理由
iPhoneで動作するすべてのアプリは、有効なApple証明書でコード署名されている必要があります。インターネットからダウンロードしたIPAファイルや、Xcodeからエクスポートしたファイルには、元の開発者の署名が付いています。自分のデバイスにインストールする前に、その署名をiPhoneが信頼する証明書に紐づいたものに置き換える必要があります。この作業は再署名(リサイン)と呼ばれ、iOSのサイドローディングに本気で取り組む人にとって欠かせないスキルです。
再署名はセキュリティを回避するためのものではなく、信頼を引き継ぐためのものです。Appleのセキュリティモデルでは、iOS上で動作するすべてのコードが、既知のIDによって保証されている必要があります。IPAを再署名するということは、自分の開発者IDやScarlet iOSのようなツールが管理する証明書を使って「このアプリを保証します」と宣言することなのです。
IPAファイルという概念に初めて触れる方は、まずIPAファイルを理解する:その正体と使い方のガイドからご覧ください。IPAの構造を理解すれば、再署名の仕組みもずっと分かりやすくなります。最終確認日:2026年10月27日、GitHub上のiOS App SignerおよびzsignのREADME、そしてAppleのデベロッパーメンバーシップページを参照しています。
まずはリスクについて
- 再署名によって変わるのは「誰がアプリを保証するか」であり、「アプリが何をするか」ではありません。改変されたIPAは署名後も改変されたままなので、まずIPAをチェックしてください。
- .p12証明書とそのパスワードを、ウェブサイトや見知らぬ相手に渡してはいけません。それを持っている人は誰でも、あなたになりすましてアプリに署名できてしまいます。
- 異なるバンドルIDで再署名すると、データのない別のアプリが作られます。アプリをそのまま更新したい場合は、同じバンドルIDと同じApple IDを使い続けてください。
- 無料のApple IDの場合、署名したアプリは7日後に起動できなくなります。Appleのメンバーシップページには、無料のプロビジョニングプロファイルは「発行から7日で失効する」と記載されています。
再署名ツール一覧
| ツール | 動作環境 | 署名方法 | 向いている用途 |
|---|---|---|---|
| iOS App Signer | macOS(Xcodeが必要) | お使いの証明書とプロビジョニングプロファイル | シンプルなウィンドウ操作での再署名 |
| AltServer / AltStore | MacまたはWindows | お使いのApple ID | 再署名とインストールを一度に行う |
| Sideloadly | MacまたはWindows | お使いのApple ID | 再署名とインストールに加え、バンドルIDや名前の変更も可能 |
| codesign | macOS(Xcodeコマンドラインツール) | お使いの証明書とプロビジョニングプロファイル | 細かい制御やスクリプト処理 |
| zsign | macOS、Linux、Windows、Android、FreeBSD | .p12証明書とプロビジョニングプロファイル | Macを使わずに再署名する場合 |
再署名の前に必要なもの
IPAファイルを再署名するには、以下のものが必要です。
- 再署名したいIPAファイル
- Mac(従来のツールを使う場合)、またはWindows/Linuxマシン(クロスプラットフォームツールを使う場合)
- Apple ID(無料)、またはApple Developerアカウント(より広い機能が使える、年間99ドル)
- iOS App Signer、AltServerなどの再署名ツール、または
codesignを使ったコマンドライン操作 - お使いのデバイスのUDIDを含むプロビジョニングプロファイル(無料のApple IDの場合はXcodeが自動で作成します。詳細は後述します)
なお、Scarlet iOSでは、アプリ内にIPAを直接インポートするだけで、こうした作業の多くを自動で処理してくれます。ただし、手動での手順を理解しておくことで、より細かい制御が可能になるほか、自動ツールがうまく動作しない場合のトラブルシューティングにも役立ちます。
方法1:iOS App Signer(Mac)で再署名する
iOS App Signerは、IPAファイルの再署名のためのグラフィカルインターフェースを提供する、macOS向けの無料でオープンソースのツールです。使い方は以下の通りです。
- 公式のGitHubリポジトリからiOS App Signerをダウンロードします。READMEによると「Xcodeのインストールが必要」であり、ipa、deb、app、xcarchiveファイルに対応しています。
- Xcodeを開き、Settings > Accounts(旧バージョンではPreferences)からApple IDでサインインします。これにより、お使いのMac上にローカルの署名証明書が作成されます。
- お使いのデバイスを含むプロビジョニングプロファイルを取得します。無料のApple IDの場合、READMEで紹介されている方法は「Xcodeで新しいプロジェクトを作成してプロファイルを作成する」というものです。iPhoneを接続し、空のアプリプロジェクトを作成して、Xcodeに署名を管理させます。Appleのメンバーシップページでも、無料アカウントの場合は「プロファイルはXcode内で直接管理される」ことが確認されています。有料アカウントの場合は、代わりにデベロッパーポータルでデバイスのUDIDを登録し、そこからプロファイルをダウンロードできます。UDIDの確認方法については、当サイトのガイドをご覧ください。
- iOS App Signerを開き、入力としてお使いのIPAファイルを選択します。
- ドロップダウンから署名証明書を選択します。「Apple Development: お使いの名前」(古い証明書の場合は「iPhone Developer: お使いの名前」)として表示されます。
- ダウンロードしたプロビジョニングプロファイルを選択します。
- 元のアプリと並べてインストールしたい場合は、必要に応じてバンドルID(READMEでは「application ID」と呼ばれています)や表示名を変更します。同じアプリの複数バージョンを実行する方法をご覧ください。
- Startをクリックし、再署名されたIPAが生成されるまで待ちます。
- XcodeのDevices and Simulatorsウィンドウ、またはApple Configuratorのようなツールを使って、再署名したIPAをインストールします。
方法2:AltServerで再署名する
AltServerは、MacとWindowsの両方で利用できるもう一つの人気の方法です。AltStoreと連携しますが、任意のIPAファイルを再署名するためにも使用できます。
- コンピューターにAltServerを、iPhoneにAltStoreをインストールします。
- AltServerを開き、Sideload .IPAオプションに移動します。
- IPAファイルを選択し、プロンプトが表示されたらApple IDの認証情報を入力します。
- AltServerが証明書の作成、プロビジョニングプロファイルの生成、再署名、インストールを自動的に処理します。
無料のApple ID方式の制限は、証明書が7日間で期限切れになることです。この方法で署名されたアプリは、再度署名し直さない限り、1週間後には動作しなくなります。有料のApple Developerアカウント(年間99ドル)を使用すると、これが12か月まで延長されます。無料署名のアプリを維持する方法については、7日が経過する前にアプリを更新する方法をご覧ください。また、3つのアプリ制限については無料Apple IDのアプリ数制限をご覧ください。
方法3:codesignを使用したコマンドラインでの再署名
上級ユーザーや自動化ワークフロー向けには、Appleのcodesignツールを使用したコマンドライン方式が最も柔軟性に優れています。この方法には、macOSとXcodeコマンドラインツールのインストールが必要です。
ステップ1:IPAを解凍する
IPAファイルは単なるZIPアーカイブです。拡張子を.zipに変更して展開するか、ターミナルを使用します。
unzip MyApp.ipa -d MyApp_extracted
ステップ2:既存の署名を削除する
rm -rf MyApp_extracted/Payload/MyApp.app/_CodeSignature
ステップ3:プロビジョニングプロファイルをコピーする
cp MyProvisioningProfile.mobileprovision MyApp_extracted/Payload/MyApp.app/embedded.mobileprovision
ステップ4:codesignで再署名する
アプリ内部のフレームワークとアプリ拡張機能を先に署名してから、アプリ本体を署名します。こうすることで、内部に古い署名が残らないようにします。
codesign -f -s "Apple Development: Your Name (TEAMID)" MyApp_extracted/Payload/MyApp.app/Frameworks/*
codesign -f -s "Apple Development: Your Name (TEAMID)" --entitlements entitlements.plist MyApp_extracted/Payload/MyApp.app
新しい証明書は「Apple Development」という名前で、古い証明書は「iPhone Developer」と表示されることがあります。security find-identity -v -p codesigning を実行すると、ご自身のMacにある正確な名前の一覧が表示されます。entitlementsファイルはプロビジョニングプロファイルと一致している必要があるため、元のアプリではなく、プロファイルから値を取得してください。
ステップ5:IPAとして再パッケージ化する
cd MyApp_extracted && zip -r ../MyApp_resigned.ipa Payload
Macを使わずに再署名する方法:zsign
zsign(MITライセンス、2026年10月時点でGitHub上で活発に更新)は、「iOS 12以降向けの高速でオープンソース、クロスプラットフォームなcodesignの代替ツール」と説明されており、XcodeもmacOSも使わずに、「カスタム証明書とプロビジョニングプロファイル」で.ipaパッケージや.appバンドルを再署名します。READMEには、macOS、Linux、Windows、Android、FreeBSD向けのビルドのほか、拡張機能を持つアプリ向けの拡張機能ごとのプロビジョニングプロファイル、バンドルIDや表示名の変更、証明書が有効かどうかを示せる証明書・OCSPチェック機能が記載されています。.p12証明書とそのパスワード、それに対応するプロビジョニングプロファイルが必要になるため、実質的には有料のデベロッパーアカウントが必要になります。コマンドラインツールであるため、ターミナル操作に慣れているユーザー向けです。
Scarlet iOS内で直接再署名する
Scarlet iOSを使用している場合、再署名に関する複雑な処理のほとんどは裏側で自動的に行われます。IPAをScarletにインポートすると、インストール前にアプリが自動的に自前の署名証明書で再署名してくれます。これは、手動の方法と比べたScarlet利用の大きな利点の一つです。
上級者向けには、iPhoneのDeveloper Modeについてのガイドで、Appleのデベロッパーモード設定がいつ必要になるかを解説しています。ご自身のApple IDで再署名したアプリの場合は必要ですが、Scarlet自体はエンタープライズ署名されているため不要です。Scarletは、iOS 14からiOS 26まで動作確認済みです。iOS 27への対応については第三者からの報告はありますが、公式には確認されていません。
再署名時によくあるエラーと対処法
エラー:「A valid provisioning profile for this executable was not found」
これは、使用したプロビジョニングプロファイルに端末のUDIDが含まれていないか、プロファイルの有効期限が切れていることを意味します。Appleのデベロッパーポータルで新しいプロファイルを生成し、お使いの端末を含めてください。
エラー:「The executable was signed with invalid entitlements」
一部のアプリは、有料のデベロッパーアカウントやプロビジョニングプロファイルで有効化された特定の権限(entitlements)を必要とする特別な許可をリクエストします。アプリのentitlements.plistを確認し、お使いのアカウントのレベルでサポートされていない項目を削除してください。
エラー:「Code object is not signed at all」
これは通常、アプリ内にバンドルされているフレームワークがメインの実行ファイルと一緒に再署名されていない場合に発生します。メインのアプリバンドルを再署名する前に、各フレームワークを個別に再署名する必要があります。
iPhoneで「Unable to Install」または「整合性を検証できませんでした」と表示される
署名、プロファイル、または端末リストが一致していません。プロファイルにお使いの端末が含まれているか、すべてのフレームワークが署名されているか、証明書が失効していないかを確認してください。詳しくは整合性エラーの修正方法をご覧ください。
アプリはインストールされるが開かない
iOS 16以降では、自分のデベロッパー証明書で署名されたアプリはデベロッパモードを有効にする必要があり、さらに「設定 > 一般 > VPNとデバイス管理」でデベロッパを信頼する必要がある場合があります。信頼されていないデベロッパエラーの修正方法をご覧ください。
IPAファイルを再署名する際のベストプラクティス
- 再署名する前に、必ずオリジナルの改変前のIPAをバックアップしておきましょう。
- 各アプリにどの証明書とプロビジョニングプロファイルを使用したかを記録しておくと、更新作業がかなり楽になります。
- 複数のアプリを連携させたい場合(アプリグループ)は、すべてのアプリが同じチームIDで署名されていることを確認してください。
- 頻繁に使用するアプリについては、毎週の再署名の手間を避けるために有料のApple Developerアカウントの利用を検討してください。
まとめ
IPAファイルの再署名は、iPhoneへのアプリインストールを完全にコントロールしたい人にとって基本となるスキルです。GUIツールを選ぶにせよ、コマンドラインでの方法を選ぶにせよ、あるいはScarlet iOSに自動で処理させるにせよ、このプロセスを理解しておくことで、問題のトラブルシューティングができるようになり、App Storeでは提供されないアプリを利用できるようになります。
証明書を自分で扱いたくない場合は、デバイス上で署名するツールを使うのがより簡単な方法です。詳しくはScarlet iOSのインストール方法をご覧ください。また、再署名の前段階にあたる独自のIPAファイルを作成する方法のガイドもあわせてご覧ください。
よくある質問
WindowsでIPAを再署名できますか?
はい。AltServerとSideloadlyはWindows上でApple IDを使って署名でき、zsignは.p12証明書を使ってWindowsで動作します。
再署名するとアプリのデータは保持されますか?
同じバンドルID(Apple ID系のツールの場合は同じApple IDも)で既存のアプリの上に再署名したアプリをインストールした場合のみ保持されます。先にアプリを削除すると、そのデータも削除されます。
無料のApple IDで再署名できますか?
はい、できます。ただし、Appleのメンバーシップページによると、プロファイルの有効期間は7日間で、デバイスに同時にサイドロードできるアプリは最大3つまでです。