Xcode 3.2.5では、「ビルドとアーカイブ」を使用してIPAファイルを作成します。 Xcode 4では、「製品->アーカイブ」を使用して、アプリケーションを.xcarchiveバンドルにアーカイブできます。
Xcode 4で.ipaファイルを作成するにはどうすればよいですか?
IPAの作成は、.xcarchiveの作成と同じ方法で行われます:製品->アーカイブ。アーカイブ操作が完了したら、オーガナイザーに移動してアーカイブを選択し、[共有]を選択し、[共有するコンテンツとオプションを選択:]ペインで[iOS App Store Package(.ipa)and Identity to iPhone Distribution(whichプロジェクトのアドホック/アプリストアプロビジョニングプロファイルと一致する必要があります)。
「iOS App Store Package(.ipa)」オプションが無効になっている可能性があります。これは、ビルドが複数のターゲット、たとえばアプリandライブラリを生成する場合に発生します。それらはすべてビルド製品フォルダーに置かれ、Xcodeはそれらをbothを.ipaファイルにパッケージ化する方法について単純に混乱するため、オプションを無効にします。
これを解決する方法は次のとおりです。アプリケーションターゲットを除く各ターゲットのビルド設定を確認し、インストールスキップフラグをYESに設定します。次に、[製品]-> [アーカイブタンゴ]をもう一度実行し、オーガナイザーに移動して新しいアーカイブを選択します。これで、[共有]ボタンをクリックすると、.ipaオプションが有効になります。
これがお役に立てば幸いです。
Skip InstallをYESに設定するだけではうまくいきませんでした。これが誰かの助けになることを願っています。
私のプロジェクトターゲットであるCoreplot-CocoaTouchに依存しました。次に、Coreplot-CocoaTouch Targetsに進みました。そのターゲットでビルドフェーズを開きました。次に、ヘッダーのコピーを開きました。そこで、いくつかのヘッダーをパブリックに、いくつかをプライベートに、いくつかをプロジェクトに持っていました。それらすべてをProjectに移動しました。
もちろん、Coreplot-CocoaTouchターゲットのビルド設定で、展開オプションで[インストールをスキップ]が[はい]に設定されていることを確認しました。
そして今回、Archiveは署名して.ipaを作成できるアーカイブを作成しました。
Xcode 4.6(およびXcode 5)アーカイブの場合
アプリケーションをiTunes Appsフォルダーにドラッグします
ITunesアプリでアプリケーションを右クリックし、「Finderで表示」を選択します
.ipa
があります!オーガナイザーで[共有]をクリックして、iOS App Storeパッケージ(.ipa)として保存できます。また、オーガナイザーでアーカイブを生成するには、「製品」メニューから「アーカイブ」を選択する必要があります。最後に、これを行うには、適切に署名されたアーカイブビルドが必要だと思います。
古いバージョンのroute-meライブラリを使用して、同じ問題が発生しました。すべてのライブラリ、およびライブラリ内のライブラリ(proj4)を「スキップ」しましたが、まだ同じ問題がありました。ライブラリがスキップされていても、route-meとproj4がパブリックヘッダーファイルをインストールしていたため、同じ方法でエラーが発生していました。だから私は、ルートミーとproj4ターゲットの[ビルドフェーズ]タブに移動し、[ヘッダーのコピー]、[パブリック]を開いて、それらのヘッダーを[パブリック]から[プロジェクト]にドラッグしました。現在、それらは$(BUILD)/ usr/local/includeにインストールされず、アーカイブからipaファイルを作成することができます!
AppleがXCodeのこの恐ろしいユーザビリティの問題を修正することを願っています。何が間違っているのかはまったく示されず、機能しません。なぜ淡色表示になっているのかについて何も言わない淡色表示のコントロールは嫌いです。無効化されたコントロールは、クリックを無視する代わりに、フラストレーションでクリックしたときに、なぜそれらが無効になっているのかを示すメッセージをポップアップ表示できますか?
[製品]> [アーカイブ]が正常に完了したと仮定して、オーガナイザー(Shift Apple 2)から[アーカイブ]をクリックします。
アーカイブを選択します。共有を選択します。 [共有するコンテンツとオプションを選択:]ペインで、[コンテンツ]を[iOS App Storeパッケージ(.ipa)]に設定し、[IDをiPhone配布]に設定します。
[次へ]をクリックし、アプリ名を入力して[保存]をクリックします。
スクリーンショット付きの詳細な詳細はこちら: Xcode4UserGuide
他のすべての答えを試してみて、運がなかった人は、このチェックボックスをオンにしてください、それが助けてくれることを願っています
私は同じ問題を投げました。上記の答えはどれもうまくいきませんでしたが、自分で解決策を見つけるのをやめました。ターゲット->ビルドフェーズ->リソース付きバンドルのコピーにライブラリファイル(libXXX.a)があったため、ipaファイルは作成されませんでした
それが誰かを助けることを願っています:)
ゲーム(アプリでもよい)で、cocos2dまたは他のサードパーティライブラリなどの静的ライブラリがある場合は、*ONLY THE*静的ライブラリ(APPではありません)で、Deploymentのビルド設定で、Skip InstallフラグをYES
に設定し、Archive it dats it ... !!
私は同じ問題を抱えていました...プロジェクトをゼロから作り直さなければなりませんでした。
注:私のプロジェクトはXCode 3.1で作成され、サブプロジェクトとして(共通の宛先に)ビルドされていた静的ライブラリに対してリンクしていました。 XCode 4でXCodeプロジェクトを再作成したときに、ソースをビルドするように変更しました。
Product/Archive/Share ...を実行すると、「iOS App Store Package(.ipa)」のオプションが「Application」(現在グレー表示されています)および「Archive」(。xcarchiveをエクスポート)のすぐ上にあります。
同じ問題。外部プロジェクトごとに「スキップインストール」フラグをYESに設定して、メインプロジェクトの他のターゲットは変更せずに解決しました。
また、「スキームの編集...」に移動し、「アーカイブ」パネルを選択して、アドホックな目的のために正しいビルド設定を設定する必要がありました。
次に、単純な[製品]-> [アーカイブ]-> [共有]で期待どおりの結果が得られました。
プロジェクトをビルドしてアーカイブする必要があります。プロジェクトおよび実行可能ファイルにあるコード署名設定を確認する必要がある場合があります。
オーガナイザーを使用してアーカイブバージョンを選択すると、プロジェクトのそのバージョンを共有できます。正しいコード署名を再度選択する必要があります。これにより、.ipaファイルを任意の場所に保存できます。
.ipaファイルをiTunesにドラッグアンドドロップして、iPhoneと同期します。