XcodeでArchive(アーカイブ)を実行したとき、iOSとして書き出したいのだが、Generic Xcode Archiveになってしまう場合のトラブルシューティング。XcodeでArchiveしてAd-Hocアプリとして保存する場合、OrganizerのArchivesでTypeがGeneric Xcode ArchiveであればAd-Hocで保存する3つの選択肢が現れないので不可能。iOS App ArchiveになっていればiOSアプリとして書き出せる。
この問題はStatic Libraryを使っている場合に起こる。
Skip Installを設定
アプリ本体とライブラリ(Static Library)を1個のアプリとしてアーカイブする場合、
- ライブラリをコンパイルしてaファイルが作成されて1つバイナリ
- アプリ本体をコンパイルして1つバイナリ
2つ作成される。2つのバイナリが含まれた状態ではGeneric Xcode Archiveになる。
Debug時はアプリ本体バイナリからaファイルを参照して別のバイナリの中を利用(依存)してる形となる。Skip InstallをYESに設定するとStaticLibraryのバイナリは本体のバイナリの一部となり、iOS App Archiveでアーカイブされる。うまくいかない場合は、Build>Cleanをしてみる。
以下はKal(StaticLibraryのProject設定)
参考サイト
http://flakasoft.com/developer-tips/xcode-4-bug-solution-for-archiving-build-with-static-library/