ここでAppleの秘密を明かすことはないと思うので、聞いてみます。私の.pchファイルは次のようになります。
#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <Availability.h>
#import <UIKit/UIKit.h>
#import "DejaViewAppDelegate.h"
#endif
そのため、2行目に「このプロジェクトはiOSSDK4.0以降でのみ使用可能な機能を使用しています」という警告が表示されます。
#import Availability.hがifndefステートメントの後に来ると、SDK警告はifndef警告をエコーします。idndefの前に#importAvailability.hが発生しても、警告はスローされません。
理由は何ですか?