シミュレータまたはデバイス用にビルドするかどうかをxcodebuild
(コマンドラインツール)に指定するにはどうすればよいですか?
コマンドラインからのXCodeビルドは次のようになります。
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -Arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE
は、「リリース」または「デバッグ」のようなものです(これらはデフォルトです。他のプロジェクトをプロジェクトに追加した可能性があります)
TARGET_NAME
はビルドするターゲットの名前です(デフォルトではプロジェクトと同じ名前です)
CPU_ARCHITECTURE
は、構築するCPUであり、次のいずれかです。
i386、armv6、armv7
シミュレーターのビルドにはi386を使用し、デバイスのビルドにはarmv6またはarmv7を使用します-他の一部のデバイスはarmv7コードを実行できないため、通常はライブラリをビルドするときにこれらのアーキテクチャをすべてビルドし、lipo
。
SIMULATOR_OR_IOS_SDK
は探しているもので、iphoneos
またはiphonesimulator
のいずれかです。これらの値は、インストールされているXCodeがサポートするSDKの最新バージョンを使用します。サポートされているSDKのリストは、次の方法で取得できます。
xcodebuild -showsdks
次のようなリストを返します:
Mac OS X SDKs:
Current Mac OS -sdk
Mac OS X 10.6 -sdk macosx10.6
iOS SDKs:
iOS 4.2 -sdk iphoneos4.2
iOS Simulator SDKs:
Simulator - iOS 3.2 -sdk iphonesimulator3.2
Simulator - iOS 4.0 -sdk iphonesimulator4.0
Simulator - iOS 4.1 -sdk iphonesimulator4.1
Simulator - iOS 4.2 -sdk iphonesimulator4.2
xcodebuild
にはそれ以上のフラグがありますが、これらはXCodeを使用してビルドプロパティを設定した後に一般的に使用するフラグです。すべてを使用する必要はありませんが、構築しているものを明確にすることはおそらく良い考えです。
-xcconfig
フラグは非常に便利です。このオプションを使用すると、xcconfig(ビルド設定ファイル)へのパスを指定できます。 xcconfig内では、#include
その他のxcconfigファイル。