Xcode 4:.xcarchiveの代わりにIPAファイルを作成する


182

Xcode 3.2.5では、「ビルドとアーカイブ」を使用してIPAファイルを作成します。Xcode 4では、「製品->アーカイブ」を使用して、アプリケーションを.xcarchiveバンドルにアーカイブできます。

Xcode 4で.ipaファイルを作成するにはどうすればよいですか?




3
新しいアドホックバージョンを作成するたびに、グーグル検索でここに誘導されます。過去数か月間、このページを何度も目にしました。良い質問、良い解決策
コーンベアー


これは、IPAをエクスポートするためのXcodeプラグインですgithub.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

回答:


391

IPAの作成は、.xcarchive:Product-> Archiveの作成と同じ方法で行われます。アーカイブ操作が完了したら、オーガナイザに移動し、アーカイブを選択して、[共有]を選択し、[共有するコンテンツとオプションを選択してください]ペインで[コンテンツ]を[iOS App Storeパッケージ(.ipa)]に、[ID]を[iPhoneディストリビューション](プロジェクトのアドホック/アプリストアプロビジョニングプロファイルと一致する必要があります)。

「iOS App Store Package(.ipa)」オプションが無効になっている可能性があります。これは、ビルドが複数のターゲット(アプリライブラリなど)を生成するときに発生します。それらはすべてビルド製品フォルダーに置かれ、Xcodeは両方を.ipaファイルにパッケージ化する方法について単純に混乱するため、単にオプションを無効にするだけです。

これを解決する方法は次のとおりです。アプリケーションターゲットを除く各ターゲットのビルド設定を実行し、インストールのスキップフラグをYESに設定します。次に、製品->アーカイブタンゴをもう一度実行し、オーガナイザに移動して新しいアーカイブを選択します。これで、[共有]ボタンをクリックすると、.ipaオプションが有効になります。

これがお役に立てば幸いです。


2
これで私の問題は解決しました。ありがとうございます。私の場合、問題は実際にはプロジェクトの1つ(ProtocolBuffers for me)で、スキップインストールを設定する必要があるいくつかのターゲットがありました。
JosephH

[製品]-> [アーカイブ]オプションが表示される前に、[製品]-> [クリーンアップしてワークスペースを開く/閉じる]が必要になる場合があります。
Mark Chackerian、2011

複数のターゲットに問題がありました。共有ライブラリをスキップインストールYESに設定し、アプリをスキップインストールNOに設定すると、修正されました。これは、Xcode 3.2では問題ではなく、4.1のみでした。
logancautrell 2011

44
[共有]は[配布...]になり、[エンタープライズ向けにアドホック展開用に保存]を選択します
レンブラントQ.アインシュタイン

「インストールのスキップ」では不十分です。Xcode4.5でこのバグが発生しました。バンドル付きのライブラリを追加して以来、正しく配布できません。
アダム

44

Skip InstallをYESに設定するだけでは機能しませんでした。うまくいけば、これは誰かを助けるでしょう。

プロジェクトターゲットの依存関係であるCoreplot-CocoaTouchに行きました。次に、Coreplot-CocoaTouch Targetsに移動しました。そのターゲットでビルドフェーズを開きました。次に、ヘッダーのコピーを開きました。そこでは、Public、Private、およびProjectにヘッダーがいくつかありました。それらのすべてをプロジェクトに移動しました。

もちろん、Coreplot-CocoaTouchターゲットのビルド設定で、展開オプションの[インストールのスキップ]が[はい]に設定されていることを確認しました。

そして今回、アーカイブは、署名して.ipaを生成できるアーカイブを作成しました。


1
ヘッダーをプロジェクトに移動した後、上記の手順と完全に連動します。ありがとう
iOSAppDev

涼風のように!OAuthのgithub.com/sprhawk/ytoolkit.gitをプロジェクトにドロップする場合は、これが必要になります。どうも。
vmanjz 2012

2
なぜああ、なぜXcodeはこれほど深刻なバグでいっぱいなのですか?このコメントより18か月後、バグはまだ残っています!助けてくれてありがとう。
ベンクレイトン

あなたは私が今どれだけあなたを愛しているかわからない...私の問題の少なくとも1つは解決されました!ありがとうございました!
Dmytro、2015

15

Xcode 4.6(およびXcode 5)アーカイブの場合

  • オーガナイザーでアーカイブを右クリックし、[Finderに表示]を選択します
  • Finderでアーカイブを右クリックし、[パッケージの内容を表示]を選択します
  • フォルダ「製品」>「アプリケーション」を開きます
  • アプリケーションがあります
  • アプリケーションをiTunes Appsフォルダにドラッグします

    ここに画像の説明を入力してください

  • iTunesアプリでアプリケーションを右クリックし、「Finderに表示」を選択します

  • .ipaそこにあります!

これは私が私のxcode 4.6.3に本当に必要なものです。上記のすべては私にとって意味のないものであり、これだけが機能します。すごい !
フォレスト

注意、ipaは作成されますが、正しくインストールされない可能性があります。同期後に電話にアイコンが表示されますが、インストールは終了し、終了しません。とにかく、これはXcode 5.1.1を試した後の私の体験です。
コリンラマール2014年

4

オーガナイザーで、[共有]をクリックして、iOS App Storeパッケージ(.ipa)として保存できます。オーガナイザでアーカイブを生成するには、[製品]メニューから[アーカイブ]を選択する必要がある場合もあります。最後に、これを行うには、適切に署名されたアーカイブ済みビルドが必要だと思います。


3
プロジェクトからアーカイブを作成する方法を理解するのは簡単でした。問題は、オプションを共有している間、「パッケージ」がグレー表示されることです。そのオプションが有効になるように、アーカイブに適切に署名する必要があるのは正しいかもしれません。配布アドホックのキーを使用しており、配布アドホックの資格も指定しています。IPAファイルを作成する方法を教えてください。
Krasnyk

4

以前のバージョンのroute-meライブラリを使用して、これと同じ問題が発生しました。すべてのライブラリ、およびライブラリ内のライブラリ(proj4)を「スキップ」しましたが、それでも同じ問題が発生しました。ライブラリがスキップされていても、route-meとproj4がパブリックヘッダーファイルをインストールしていたことがわかりました。それで、私はroute-meおよびproj4ターゲットの「ビルドフェーズ」タブに移動し、「ヘッダーのコピー」を開き、「パブリック」を開き、それらのヘッダーを「パブリック」から「プロジェクト」にドラッグしました。今、それらは$(BUILD)/ usr / local / includeにインストールされず、アーカイブからipaファイルを作成できます!

Appleがこの恐ろしいユーザビリティの問題をXCodeで修正してくれることを願っています。何が問題なのかはまったくわかりませんが、機能しません。淡色表示されたコントロールは、淡色表示されている理由について何も説明されていません。無効化されたコントロールは、クリックを無視する代わりに、欲求不満でクリックしたときに無効化された理由を通知するメッセージをポップアップすることができますか?


うん!パブリックとしてマークされたすべてのヘッダーファイルが問題を解決します。それらをプロジェクトとして設定すると問題が解決しました!
JakubKnejzlik

3

製品>アーカイブが正常に完了したと仮定して、オーガナイザー(Shift Apple 2)から[アーカイブ]をクリックします。

アーカイブを選択します。[共有]を選択します。[共有するコンテンツとオプションを選択してください]ペインで、[コンテンツ]を[iOS App Storeパッケージ(.ipa)]に設定し、[ID]を[iPhoneディストリビューション]に設定します。

[次へ]をクリックし、アプリ名を入力して[保存]をクリックします。

スクリーンショットを含む完全な詳細はこちら: Xcode4UserGuide


2

他のすべての答えを試してみて、うまくいかなかった人は、このチェックボックスをオンにしてください。それが役に立てば幸いです(私にとってはトリックxcode 6.0.1)。

ここに画像の説明を入力してください


0

同じ問題がありました...プロジェクトをゼロから作り直さなければなりませんでした。

注:私のプロジェクトはXCode 3.1で作成され、(共通の宛先への)サブプロジェクトとしてビルドされている静的ライブラリーにリンクしていました。XCode 4でXCodeプロジェクトを再作成するときに、ソースをビルドするようにこれを変更しました。

Product / Archive / Share ...を実行すると、「iOS App Store Package(.ipa)」が「アプリケーション」(灰色表示)と「Archive」(。xcarchiveをエクスポート)の真上に表示されます。


0

同じ問題。メインプロジェクトの他のターゲットを変更せずに、外部プロジェクトごとに「スキップインストール」フラグをYESに設定することを解決しました。

また、「スキームの編集...」に移動し、「アーカイブ」パネルを選択して、アドホックな目的のために正しいビルド設定を設定する必要がありました。

次に、単純な製品->アーカイブ->共有が期待通りの仕事をしました。


0

プロジェクトをビルドしてアーカイブする必要があります。プロジェクトと実行可能ファイルにあるコード署名設定を確認する必要がある場合があります。

オーガナイザを使用してアーカイブバージョンを選択すると、プロジェクトのそのバージョンを共有できます。正しいコード署名を再度選択する必要があります。必要な場所に.ipaファイルを保存できます。

.ipaファイルをiTunesにドラッグアンドドロップして、iPhoneと同期します。


0

それがゲームである場合には(もアプリでもよい)、あなたは、あなただけで選択する必要があります... cocos2dまたは他のサードパーティのライブラリのようないくつかの静的ライブラリを持っている* ONLY *静的ライブラリ(NOT APP)をし、下にそのビルド設定で展開、インストールのスキップフラグをに設定しYESてアーカイブします... !!


0

私は同じ問題を投げて行きました。上記の答えはどれもうまくいきませんでしたが、自分で解決策を見つけることに終わりました。ライブラリファイル(libXXX.a)がターゲット->ビルドフェーズ->バンドルとリソースをコピーしていたため、ipaファイルは作成されませんでした

それが誰かを助けることを願っています:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.