A.项目中的常见文件
1.单元测试Test
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56QXhORFk1T0RFNU5TNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
2.Frameworks(xCode6 创建的SingleView Project没有)
依赖框架
3.Products
打包好的文件
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56QXpNRE14TXpJek9TNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
4. projectname-Info.plist
全局配置文件
所以最好其他的plist文件不要带有Info字眼
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56QTBOakkxTVRJeU55NXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56QTJOREl5TXpBME1pNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
(1)更改项目名
a.修改Bundle display name
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56QTRPRGMxTnpRMU9DNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
b.clean
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56RXdPRGt3TlRVM015NXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
c.模拟器删除app,重新生成
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56RXpPVFV6T0RVM05pNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56RTFPRFEwT1RReU1DNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
(2)Bundle Identifier
App唯一标识符
(3)stroyboard入口:Main storyboard file base name
(4)app支持的屏幕方向
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56RTNPRGMxT1RBd09DNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56RTVNekV5TmpjM09TNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
5.pch文件
projectname-Prefix.pch
pch头文件中的内容可以被其他文件共享
(1)xCode6 创建pch文件
a.创建一个PCH
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56SXdOelV3T1RJMU1pNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56SXlNVFF3TXpBeE1TNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
b.配置pch到预编译
注意要写对pch文件的路径
![[iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件 [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件](https://image.shishitao.com:8440/aHR0cHM6Ly9iYnNtYXguaWthZmFuLmNvbS9zdGF0aWMvTDNCeWIzaDVMMmgwZEhCekwybHRZV2RsY3pBdVkyNWliRzluY3k1amIyMHZZbXh2Wnk4Mk5EZzBOek12TWpBeE5ERXlMekUzTVRNeU56SXpPVFk1TXpBMk9TNXdibWM9LmpwZw%3D%3D.jpg?w=700&webp=1)
(2)pch的作用
a.存放全局宏 #define
#define A 1
#define B 2
b.全局import #import
#import "myhead.h"
c.仅让所有OC项目中的.m文件import foundation和UIKit库
防止其他语言(如C)错误引入
#ifdef __OBJC__ #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #endif
d.调试NSLog优化
系统在调试阶段会配置一个DEBUG宏
#ifdef __OBJC__ #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #ifdef DEBUG
#define MyNSLog(...) NSLog(__VA_ARGS__)
#else
#define MyNSLog(...)
#endif #endif
注意”__VA_ARGS__”前后是两个下划线
配置之后,使用MyNSLog函数来打印测试信息,在app完成release的版本,MyNSLog会自动失效
MyNSLog(@"测试 %d - %d", A, B);
out:
2014-12-17 13:22:33.888 DatePicker[20702:1696549] 测试 1 - 2