Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何阻止将巨大的Prefix.pch.gch文件复制到应用程序包中_Objective C_Cocoa_Xcode_Macos - Fatal编程技术网

Objective c 如何阻止将巨大的Prefix.pch.gch文件复制到应用程序包中

Objective c 如何阻止将巨大的Prefix.pch.gch文件复制到应用程序包中,objective-c,cocoa,xcode,macos,Objective C,Cocoa,Xcode,Macos,出于某种原因,XCode决定在构建时开始将一个巨大的Prefix.pch.gch文件复制到我的应用程序的resources文件夹中。此文件不在复制捆绑资源构建阶段,我也找不到任何其他项目设置,它们应该告诉XCode这样做。以前有人看到过这一点,知道发生了什么吗?有复制文件的阶段吗 Prefix.pch.gch文件是否在项目的组树中?检查此项的最简单方法是选择项目对象,然后在详细视图中搜索“gch”。如果选择项目菜单的项目项,然后选择详细选项卡视图,然后在左侧的组和文件列表中选择项目,则右视图中列

出于某种原因,XCode决定在构建时开始将一个巨大的Prefix.pch.gch文件复制到我的应用程序的resources文件夹中。此文件不在复制捆绑资源构建阶段,我也找不到任何其他项目设置,它们应该告诉XCode这样做。以前有人看到过这一点,知道发生了什么吗?

有复制文件的阶段吗


Prefix.pch.gch文件是否在项目的组树中?检查此项的最简单方法是选择项目对象,然后在详细视图中搜索“gch”。

如果选择项目菜单的项目项,然后选择详细选项卡视图,然后在左侧的组和文件列表中选择项目,则右视图中列出的文件是否有复选框?那个复选框被选中了吗?如果是这样,请取消选中。

您可以尝试在finder中显示xcode项目文件上的包内容,然后在文本编辑器(而不是xcode)中打开project.pbxproj文件


如果您搜索.pch和/或.gch,您可能会发现一些问题。

我今天遇到了相同症状的问题,结果是由于我的一个目标C文件被包含在目标的复制包资源文件阶段,或者是由于拖放事故,或者是xcodeproj文件在某个时候损坏。然后,GCC将前缀头的预编译头包含在目标中,这是很有帮助的,因为存在来自源文件的依赖项

即使文件类型设置为sourcecode.c.objc,对相关源文件执行“获取信息”操作时,也不会显示“文件信息”对话框上的所有选项卡


从项目中删除文件并重新添加它解决了问题。

我用另一种方式解决了这个问题。首先,我喜欢使用前缀文件,所以我有很多标准日志、颜色等的包含

对于前缀文件的每个包含,请确保每个包含只处理一次!这可以通过以下方式实现:

#ifndef __<Classname>__
#define __<Classname>__ 

< your original header file here >

#endif

不,Prefix.pch文件在那里,但不是.gch文件。有两个复制文件阶段,一个是复制两个框架Sparkle,另一个是我编写的,另一个是复制我应用程序的Spotlight导入器。.gch文件最终位于resources目录中,在构建时,我会在构建结果中看到它被复制的位置。生成结果显示以复制捆绑资源阶段中显示的相同顺序复制捆绑资源。.gch file copy消息出现在两个实际捆绑包资源之间,即使它不在复制捆绑包资源构建阶段。Andrew Madsen:如果在目标组中选择目标,前缀文件是否会以这种方式出现在详细视图中?嗨,Peter,否,前缀文件不在“我的项目”中目标、应用程序本身和聚光灯导入器的详细视图中。谢谢你的回复。如上所述,Prefix.pch.gch文件不会出现在项目的详细信息列表中。我找不到它出现在项目中的任何地方。文件呢?你能把项目文件寄给我吗?没有必要的资料来源?电子邮件:删除空格就是这样!在复制包资源构建阶段,我有一个.m文件。将其从项目中删除并重新读取修复了该问题。谢谢没错,伙计。非常感谢!我认为这肯定是一个xcode问题,因为我确信我没有拖动文件来复制资源!是的,我当然不是故意的。其中的文件在一个内置类上有一个自定义类别,这是我很久没有接触过的东西。这个项目在这一点上已经超过4年了。无论如何,再次谢谢你。