我不认为我在这里给出任何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
Run Code Online (Sandbox Code Playgroud)
因此,第2行会出现一条警告:"此项目使用的功能仅适用于iOS SDK 4.0及更高版本."
当#import Availability.h在ifndef语句之后出现时,SDK警告将回显ifndef警告.在#nmport Availability.h之前,它不会在idndef之前发出警告.
有什么理由吗?
在标准项目模板中,<Availability.h>是第一个导入.这是有道理的,因为这__IPHONE_4_0是定义的地方.
顶部的宏检查是否IPHONE_4_0已定义,如果不是,则发出编译器警告.由于宏稍后定义(通过导入<Availability.h>,您会看到编译器警告.
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |