在开发中分为两个阶段:
1.开发调试阶段:是需要打印LOG调试程序的, 如果程序处于调试阶段,系统会为我们定义一个名称叫做DEBUG的宏
2.发布阶段:不需要打印LOG, 因为LOG很占用资源并且用户看不懂LOG,如果程序处于发布阶段,系统就会自动删除名称叫做DEBUG的宏
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#define ABC 55
#import "NJPerson.h"
#ifdef DEBUG
#define NJLog(...) NSLog(__VA_ARGS__)
#else
#define NJLog(...)
#endif
#endif
若是将一些只能在OC文件中使用的宏放在#ifdef __OBJC__外面,若是有C文件,那就会报错,因为会包含在C文件中
bundle display name:应用名称
bundle identifier:应用唯一标识(域名倒写+工程名),相同的identifier会覆盖安装
bundle versions string,short:iTunes上的正式版本号
bundle version:内部版本
main storyboard file base name:初始storyboard的名字
supported interface orientation:屏幕旋转支持的方向