質問
2つの質問:
このコード
#ifdef __IPHONE_3_0
// iPhone 3.0 specific stuff
#else
// iPhone 2.2 specific stuff
#endif
iPhoneの特定のバージョンの特定のコードをコンパイルします。これをどのように変換して、さまざまなデバイスをコンパイルすることができますか?たとえば、iPhoneバージョン<3.1またはバージョン> = 3.2の場合、その場合...
2)Xcodeで許可されているすべての条件のリストはどこで入手できますか?
助けてくれてありがとう。
解決
それらの定義はにあります Availability.h
, 、使用しているSDK内にあります。たとえば、3.0シミュレーターのバージョンを見つけることができます
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include/Availability.h
メモとして、次の定数を調べるのは簡単です __IPHONE_3_0
それらを強調表示し、右クリックし、ポップアップメニューから「定義へのジャンプ」を選択します。
の Availability.h
, 、ヘッダー自体は、さまざまなバージョンを選択的にコンパイルする方法を詳細に説明しています。たとえば、iPhone OSバージョンが3.0を超えている場合にのみコードをコンパイルするには、使用できます
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_0
// Your code here
#endif
これは、コンパイル時間に何を含めるかを決定するためであり、アプリケーションが実行されているOSのバージョンに基づいてコードを選択的に有効にするためではないことに注意してください。
所属していません StackOverflow