May 022012
 

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://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/DistApps/DistApps.html

http://flakasoft.com/developer-tips/xcode-4-bug-solution-for-archiving-build-with-static-library/

 Posted by at 01:30