0

2つの質問:

このコード

#ifdef __IPHONE_3_0
    // iPhone 3.0 specific stuff
#else
    // iPhone 2.2 specific stuff
#endif

iPhoneの特定のバージョンの特定のコードをコンパイルします。さまざまなデバイス用にコンパイルするために、これをどのように変換できますか?例:iphoneバージョン<3.1またはバージョン> = 3.2の場合、1つ...

2)Xcodeで許可されているすべての条件のリストはどこで入手できますか?

助けてくれてありがとう。

4

1 に答える 1

1

これらの定義は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のバージョンに基づいてコードを選択的に有効にするためではなく、コンパイル時に何を含めるかを決定するためのものであることに注意してください。

于 2010-03-12T04:29:38.993 に答える