在Xcode 6 / iOS 8中如何全局导入文件的方式改变了吗?

我曾经在文件AppName -prefix.pch中执行我的全局导入(也就是我的Xcode项目中所有源文件可见的导入)。

但是,现在在Xcode 6(和iOS 8)环境中,在创build新项目之后,该文件不会自动生成。

我的问题是如何在Xcode 6中正确执行全局导入? 我可以创build我自己的AppName -prefix.pch并最终使用这个吗?

注意:使用Cocoapods时 ,会生成一个名为Pods- AppName -Bolts-prefix.pch的文件。 但全球import将不会与这一个。

苹果终于明白,拥有全球依赖是非常糟糕的做法。 理想情况下,你需要停止使用PCH文件,因为它使其他文件非常混乱,并打破代码重用。

无论如何,这里是解决scheme

  1. 添加新的PCH文件到项目 – 新build文件>其他> PCH文件

  2. 在项目的“Build Settings”选项中,设置“Prefix Header”的值为你的PCH文件名,项目名称为前缀 – 即为名为“TestProject”的项目和名为“MyPrefixHeaderFile”的PCH文件添加值“TestProject /MyPrefixHeaderFile.pch'到plist。

你可以创build你自己的,但重要的是你不应该有全局依赖,你应该明确地只导入每个类所需的东西。 的确,在你的.h文件中,你应该尽量使用@class来处理所有的事情,只能导入到你的.m文件中。 这种方法使得一个类的依赖非常明确,减less了依赖循环的可能性,这两者都是非常好的事情。

在Xcode 6中,项目的.pch文件不会自动生成,但是如果你需要的话,你可以自己创build一个.pch文件。 按照以下步骤操作

 Goto->File->New->File->(Under iOS)Other->PCH File->Next 

input文件名并保存后,进入“Build Settings”,设置“prefix header”的值为“YourProjectName / YourPCHFileName.pch”。 如果“Precompile Prefix header”设置为“No”,则将其更改为“Yes”。 现在你可以把你想要导入的任何文件全局化,但是把所有东西都保存在这里不是一个好习惯。