1、个人对PCH 的理解:PCH 文件是针对一些宏定义的,常用的变量的定义或常用到的类,只要在PCH 中定义的变量,在整个工程中都可以使用,如果多个类需要导入很多类,我们可以在PCH文件中导入需要导入的类,在使用的类里面导入pch头文件就可以了
创新互联自2013年起,先为玉田等服务建站,玉田等地企业,进行企业商务咨询服务。为玉田企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
2、在工程中新建一个PCH 文件:New File -Other -PCH File(这就是需要新建的pch文件,点击改好名字和路径) -Create。这时候就创建好了一个pch文件
3、把pch 是我路径改为相对路径这样把工程在其他设备上也能查找到相应的pch 文件
(1、Build Setting 设置中找到Precomplie Prefix
Header (可以直接查找)这项设置设置成yes。2、把Precomplie Prefix Header 下面一项Prefix Header
双击打开,把刚刚建好的pch文件拖到打开的对话框中,回车。3、把 $(SRCROOT) 拷贝代替 Prefix Header
中的路径(从右往左数第二个/左面的内容)替换后的格式如:
$(SRCROOT)/SPFFreshFun/PrefixHeader.pch,替换后把鼠标移到路径的末尾
回车,这样避免回车把路径分行隔开)
4、将Precompile Prefix Header设为YES.
首先,Command+N,打开新建文件窗口:ios-other-PCH file,创建一个pch文件,添加需要引入的头文件名:
其次,修改工程配置文件,将刚刚创建的PCH file的路径添加到building setting中的precompile header选项中去,注意debug和release两栏都要添加:
可以用
首先先穿件一个pch文件。
按照原来的oc方法,
在swift中发现,同样的方法怎么都都引用不到pch中的文件,后面发现,swift调用oc文件,oc混编是需要设置桥接头文件的,在
注:引用pch文件路径代码 $(SRCROOT)/XXX(项目名)/xxxxx.pch(pch文件名称)
PCH was compiled with module cache的原因可能是在更改Mac用户名后出现的问题
解决方法:
1. Close your project or workspace.
2. In Finder: ⇧shift+⌘cmd+G
3. Paste: ~/Library/Developer/Xcode/DerivedData/
4. Delete the ModuleCache folder and empty trash.
5. Open up your project.
6. Clean: ⇧shift+⌘cmd+K
7. Build: ⌘cmd+B
1.预编译头文件
2.放置项目常用的宏定义
3.放置项目中经常需要import的.h文件
4.随着项目的启动进行编译,之后不需要再编译,一处编译多处使用
5.Xcode6之后,新建项目已经不再默认包含pch文件,需要自己去创建
真正常用到的如:屏幕的宽高、颜色和强弱引用的宏定义等等,才应该将它们放入其中,同理对于.h文件的引入也遵循此规则。不遵循的后果:由于引入了大量的宏定义和头文件,导致编译缓慢,这也是苹果从Xcode6之后不再默认生成pch文件的缘由。
绝对路径:pch文件在自己电脑中所在的位置(到别人的电脑上运行如果相应的位置没有对应的pch文件会编译出错)
相对路径:pch文件的相对位置(只要pch文件在项目中,在其他电脑上也不会出现编译错误)
Xcode左上角 - File - New - File
Other - PCH File
选择项目 - TARGETS - Build Settings - 搜索Prefix Header
Precompile Prefix Header改为YES
在进行上面一步操作时,也可以在点击Prefix Header弹出的空白处,直接将你的pch文件拖入其中,但是记住,此时得到的路径是绝对路径,就像前面所说的,这是不推荐的做法!