質問

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のバージョンに基づいてコードを選択的に有効にするためではないことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top