http://blog.csdn.net/hmt20130412/article/details/40432495
XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)
@ 取消的原因:
Stackoverflow上有一个人对此的解释是这样的:
I suspect because of modules, which remove the need for the #import <Cocoa/Cocoa.h>.
As to where to put code that you would put in a prefix header, there is no code you should put in a prefix header. Put your imports into the files that need them. Put your definitions into their own files. Put your macros...nowhere. Stop writing macros unless there is no other way (such as when you need __FILE__). If you do need macros, put them in a header and include it.
The prefix header was necessary for things that are huge and used by nearly everything in the whole system (like Foundation.h). If you have something that huge and ubiquitous, you should rethink your architecture. Prefix headers make code reuse hard, and introduce subtle build problems if any of the files listed can change. Avoid them until you have a serious build time problem that you can demonstrate is dramatically improved with a prefix header.
In that case you can create one and pass it into clang, but it's incredibly rare that it's a good idea.
翻译过来 大致就是说 也许是因为组件单一模块的原因,所以 放弃了对<Cocoa/Cocoa.h>
的import
你不应该在你的prefix代码中放入任何的代码,把他们放在你确实需要放入的文件中。把你的定义放到属于他们的文件中。 尽量不要使用宏定义(define)。。除非是非不得已的时候,(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你修改宏定义的时候 会导致大量的代码被重新编译 另外 宏定义存在许多潜在的bug 是因为在预编译的时候,他并不会被发觉到的)。如果你确实 在被逼无奈需要使用宏定义,把他们放在需要被include的头文件中,而不是放在prefix文件中。
prefix header文件是被那些大量使用 以及 几乎所有系统中的文件都需要被使用(例如 Foundation.h)。如果 你有一些东西大量存在,你应该重新思考你的架构问题你。因为 当你修改你prefix header的一些代码的时候,prefix header导致整个项目重新编译,这让你的代码重用变得困难,并且导致一些琐碎build的问题。所以 不要去使用prefix header 这样可以避免你大量的重新编译整个项目的时间
如果你仍然想要使用预编译,你可以创建一个新的并且传递给编译器的前段,这种方法很少见(我没用过),但确实是一个不错的方法
@ 还可以参考:XcodePrecompilePrefixHeader浅析
@欢迎转载!转载请注明:iOS@界迷糊小书童
相关推荐
6. **Recording and Playback**:在Xcode13中,UI测试录制功能可以自动创建测试代码,通过观察用户的交互来生成测试用例。这大大简化了测试脚本的编写过程,`XCTAutomationSupport`在幕后处理了大部分工作。 7. **...
从Xcode11开始,Application Loader不再集成在Xcode中,需要使用xcodebuild或者xcrun altool命令上传应用。 如果是觉得使用命令行的方式麻烦,下载解压后,复制...../Applications/Xcode.app/Contents/Applications/
镜像”,这暗示了我们需要将解压后的文件移动到特定的Xcode配置文件目录,以便Xcode能够识别并支持iOS 15的模拟器或设备。通常,这些配置文件位于`~/Library/Developer/CoreSimulator/Profiles/Runtimes`目录下。在...
Xcode8.2.1百度网盘 链接:https://pan.baidu.com/s/1vJz83ZS5dyx-qXTBMXsk-A 提取码: 复制这段内容后打开百度网盘手机App,操作更方便哦
"Xcode Midnight"主题的颜色配置文件就是基于这一特性,提供了与Xcode相似的色彩搭配,使得IDE界面更加统一和和谐。 总的来说,"Xcode Midnight.jar.zip"为IntelliJ IDEA用户带来了全新的视觉体验,它不仅在视觉上...
《Xcode 6 GM.dmg:苹果开发者的必备工具》 Xcode 6 GM.dmg 是苹果公司为开发者提供的一个重要的软件开发工具包,它包含了完整的Xcode集成开发环境(IDE)以及iOS和OS X应用开发所需的全部组件。"GM"代表"Golden ...
4. **UI测试记录器**: `XCTAutomationSupport`还包含了UI测试记录器的功能,它可以帮助开发者生成测试代码,通过观察并记录实际的用户操作,自动生成对应的测试用例。 5. **模拟用户交互**: 通过`XCTAssert`系列...
当应用在真机上崩溃时,Xcode会生成Crash Log,记录导致崩溃的栈轨迹。开发者需要分析这些日志以定位问题原因。 10. **持续集成与部署**: 使用Xcode Server或第三方工具如Jenkins,可以实现持续集成和自动化部署...
- **发布和使用**:将生成的XCFramework文件分享给其他开发者,他们可以直接在他们的项目中导入并使用。 4. **HHTestKit**: - HHTestKit可能是你在压缩包中的示例框架项目。它可能包含了制作XCFramework的代码和...
在XCode开发环境中,`libstdc++.6.0.9.tbd`和`libstdc++.6.tbd`是两个重要的动态库文件,它们属于C++标准库的一部分,主要负责提供C++语言的Standard Template Library (STL)功能。在升级到XCode 10.0版本后,用户...
opengl超级宝典第五版 中mac下开发OpenGL,在书中描述的在xcode中需要libGLTool.a文件,由于源代码中没有包含libGLTool.a,只有源码,网上通过其他途径(例如:...希望这个工程对在xcode中学习OpenGL有所帮助。
《Mac软件开发 Xcode 帮助 中文版》这篇文档详细介绍了苹果公司的集成开发环境Xcode,主要用于开发Mac OS X软件。Xcode集成了多种工业标准的开源工具,如GCC、javac、jikes和GDB,支持C、C++、Objective-C和Java等...
Mac软件开发Xcode帮助中文版.pdf
这将生成一个.ipa文件,你可以通过iTunes或其他分发方式分享或上传到App Store Connect。 值得注意的是,离线打包过程中可能会遇到各种问题,如文件路径错误、证书问题或模块配置不正确导致的白屏等。这时,参照...
2. **启用PCH**: 进入项目的Build Settings,搜索`Prefix Header`,在对应的项目和目标级别设置中填写`$(SRCROOT)/[YourProjectName]/Prefix.pch`的完整路径,确保Xcode能正确找到PCH文件。 3. **添加内容**: 在`...
在“Build Settings”中搜索“prefix header”,双击该条目,然后输入你的PCH文件的完整路径,通常是`ProjectName/ProjectName.pch`。这将告诉Xcode在编译时使用这个PCH文件。 完成以上步骤后,你已经成功地在Xcode...
**Xcode_7_beta_6_Release_Notes.pdf**:这是Xcode 7 beta 6的发行说明,通常会包含新特性、改进、已知问题以及解决方法的详细信息。对于开发者来说,它是理解Xcode 7更新的重要参考资料,特别是对于那些使用Mex...