首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

XCode 疯狂:试图编译一个未引用且不存在的文件

XCode 疯狂:试图编译一个未引用且不存在的文件

在 Xcode 中,有时候您可能会遇到这样的错误提示:“试图编译一个未引用且不存在的文件”。这个错误提示通常表示编译器找不到一个指定的源文件或依赖项。这可能是因为文件名错误或文件被移动或删除,或者是因为编译器找不到编译该文件所需的依赖项。

为了解决这个问题,您可以尝试以下几种方法:

  1. 检查文件名和路径:请确保源文件名和路径正确无误,没有拼写错误或路径错误。
  2. 检查依赖项:请确保所有的依赖项都正确安装了,并且它们在编译时都可以找到。
  3. 检查编译选项:请确保编译器正确地配置了所有必要的编译选项,例如库搜索路径、包含文件和链接器等。
  4. 检查构建设置:请确保构建设置(如角色、组别、平台等)都正确设置,以便编译器可以找到正确的目标架构。
  5. 清理项目并重新构建:请尝试清理项目并重新构建,以便清除任何可能的错误或缓存。

如果以上方法都没有解决问题,请考虑向 Apple Developer 技术支持团队或您的开发社区寻求帮助,以了解更多关于该错误的具体信息。

请注意,这个答案不会提及任何关于流行云计算品牌商的信息,如 AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google 等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一款可让大型iOS工程编译速度提升50%工具

基于路径顺序查找头文件方式存在潜在风险,例如重名头文件情况,排在后面的头文件永远无法参与编译。...由于 ${PODS_ROOT}/Headers/Private 路径存在,让引用其他组件私有头文件变为了可能。...,只有既没有被 Public 和 Private 标注文件,才会被认为是真正私有头文件且不出现在最终产物里。...首先,由于所有头文件都被当做最终产物保留下来,在结合 Header Search Path 里 Pods/Headers/Private 路径存在,我们完全可以引用到其他组件里私有头文件,例如只要使用...例如下图中 PodB,在其 build 过程中,Xcode 会为 PodB 生成 5 个 hmap 文件,也就是说这 5 个文件只会在编译 PodB 中使用,其中 PodB 会依赖 PodA 一些头文件

1.1K20

从预编译角度理解Swift与Objective-C及混编机制

只不过它还多了一个能够避免头文件重复引用能力而已。...如果在编译文件引用到某个 Module 的话,系统将优先在这个列表内查找是否存在对应中间产物,如果能找到,则说明该文件已经被编译过,则直接使用该中间产物,如果没找到,则把引用文件进行编译,并将产物添加到相应空间中以备重复使用...将其余描述文件设置为 Project 类型,且不放入最终产物中。...同时我们也知道,每个文件编译是独立且不文件编译是可以并行开展,所以这就意味着每编译一个文件,就需要将当前 Target 里其余文件当做接口,重新编译一次。...理解 Xcode Phases 构建系统中,Public 代表公开头文件,Private 代表不需要使用者感知,但物理存在文件, 而 Project 代表不应让使用者感知,且物理不存在文件

2.1K31

【IOS开发进阶系列】Framework制作专题

Utils类,并写了一个log方法         设置开放文件:Framework中有些类可能是一些私有的辅助工具,不需要使用者看到,在这里只需要把开放出去类放到Public下, 如图         ...这样生成FrameworkHeaders目录下也只能看到Public文件         编码完成之后,直接Run就能成功生成Framework文件了,选择xCode->Window->Organizer...所以对于此种情况,即便是b.f工程内部,也不能直接引用a.Framework生成库,而应该通过添加在TargetDependencies添加方式来进行引用,这样,a/b/c/d库依赖关系在编译时能得到统一梳理...2.1.2 Framework正确添加方法(不行,解决重复引用问题)         直接在Link Library With Libraries一项中新增Framework文件方法不可取,在引用存在依赖关系几个库时...2.2.1 基于多Framework工程引用导致duplicatesymbol问题         对于存在多个通用工程,且通用工程内部存在彼此依赖关系时,如果在一个业务工程中直接以LinkBinary

35730

如何在Electra越狱设备上使用LLDB调试应用程序

试图在google搜索,有关使用Electra越狱iOS设备上调试AppStore应用程序简要说明。但令我失望是,竟然没有找到任何有用资料。...从Xcode将debugserver部署到你设备 首先,通过ssh连接到你iOS设备,查看/Developer/usr/bin/debugserver是否存在。...如果不存在则, 在Mac上运行Xcode 为iOS打开ObjC项目(或从头创建一个新项目) 保持Xcode运行状态。将你iOS设备连接到USB。...此时,debugserver二进制文件应该已经存在。 通过USB进行调试 对我而言,它只在我通过USB进行调试时才有效。如果Mac上安装iproxy,请通过brew进行安装: ?...secist 编译,转载请注明来自FreeBuf.COM

2.2K40

Xcode Concepts

Compile Sources 指将有哪些源代码被编译,可以通过对应【+】【-】按钮进行添加或删除资源来控制编译代码文件。...指编译过程中会引用哪些库文件,我们同样可以通过【+】【-】按钮进行添加或删除编译引用文件。...xcconfig 文件其实就是 Xcode config 文件,本质是一个用来保存 Build Settings 键值对纯文本文件。...xcshareddata:主要包括 shared 出去 Scheme; xcuserdata:断点数据 (如果打过断点,则不会有该文件,如果打过全取消了,该文件也不会被删除,只是内容发生变化),...Workspace 类似.xcodeproj文件,其不是一个文件夹,而是一个有管理、索引作用一个文件,结构如下所示: xcworkspace文件结构 contents.xcworkspacedata

2.1K20

工程管理篇 | 多Targets

其它知识补充 workspace 、Project、target、 Scheme 关系和简介 workspace 是Xcode一种文件,用来管理工程和里面的文件一个workspace...既然是利用同一份代码产出不同product, 那么到底不同Target之间存在着什么样差异呢? 要解释这个问题, 我们就要来看看一个Target指定了哪些内容....是指编译过程中会引用哪些库文件 ?...而且不target还可以定义完整差异化编译设置, 从简单调整优化选项, 到增加条件编译所使用编译条件, 以至于所使用base SDK都可以差异化指定....编译设置也是完全原始状态。等于是一个小工程。 图中 Comment中文件是俩个 Target公用部分,可以供俩个Target使用,实现了工程中创建小工程效果。

1.1K21

扒虫篇-Bug日志 Ⅲ

解决办法:关闭其它所有工程,退出 Xcode文件,再重新打开目标工程(注意,只打开这一个工程,不要打开其他工程),再次Archive ,验证,就没问题啦。...Snip20170216_1.png 导入了一个第三方文件夹,文件目录是这样: ? Paste_Image.png 我们可以看到这是一个包含C/C++文件文件夹。...C/C++ 头文件引用问题 include 引用编译类库路径下文件 include “” 引用工程目录相对路径文件 include 是编译指令,在编译时,编译器会将相对路径替换成绝对路径...遇到这种问题,首先想到是导入文件编译环境发生了变化,所以先选择Product-Clean将项目缓存清理一下,Xcode清理项目缓存。但是这样做还是不行,那怎么办呢?...解决方案: 我们应该这样做,看项目有没有编译导入文件,在这个位置查看: 选择项目-Build Phases选项卡-Compile Sources Xcode查看项目编译项目 这里只有一个

1.2K20

编码篇-ARC下内存泄漏

前言 内存泄露是一个相对挺严重问题,可是它存在引起足够重视,如果程序运行时一直分配内存而不及时释放无用内存,程序占用内存越来越大,直到把系统分配给该APP内存消耗殚尽,程序因无内存可用导致崩溃...ARC这是一种编译内存管理方式,在编译期间,编译器会判断对象使用情况,并在合适位置加上retain和release,使得对象内存被合理管理。...MRC内存使用 这部分不做详细介绍,也是注意配对使用,需要说明是,如果代码中有部分文件是MRC,在已有文件中加代码时候注意一下,不能都按照ARC方式处理。...有时候随着代码量增大,逻辑负责,很容易形成一个很大循环引用,最后造成内存泄漏。...下面的代码在书写时候Xcode是不会报任何错误和警告。但是实际上已经形成了循环引用。造成了内存泄漏。

1.6K20

正经分析iOS包大小优化

首先是怎么优化问题: Xcode编译设置优化,Xcode设置影响是生成包大小,通过Xcode编译选项优化设置,让生成ipa包变小,比如不含断点调试、去掉异常支持等等。...安装包构成 iOS打包出来ipa,本质上是一个压缩包,所以可以将.ipa后缀改为.zip,然后进行解压缩,之后会得到一个Payload文件夹,里面又一个xxx.app文件,这个xxx.app就是包含所有文件包了...13 MB 其它资源文件 1.4 MB 了解了iPa包组成之后,我们再回过头来,按照Xcode编译优化、资源文件优化、代码优化步骤来一步步分析。...无用资源删除: 已定义使用代码文件 已废弃业务,代码还在 已引用图片但未使用 某些重复资源导入 已用资源压缩: 项目中引入图片、网页、json、音频等文件压缩 下面一步步来实践: 无用资源删除...Xcode编译优化-其它 13.2M 资源优化 10.3M 达到了预期瘦身效果,虽然还有更进一步优化空间,比如把项目中唯一引用Swift第三方库改为OC,从而可以去除混编,能大幅缩减项目大小

5.1K61

Cocos2d-x V2.x版本对64bit支持

Library Search Path,确认所有的都没有问题,清理、重新编译,闹腾了好久还是没解决,直到第二天猛然看到这段错误上面一段提示,有一个路径,我用shell查了一下,发现了问题: 该目录下面居然有一个....a文件,不知道怎么操作,也就是说它优先使用了这里库(32位),导致无论我怎么编译和操作,新生成静态库(libCocosDenshion.a)都是没有用到,删除、编译,一切都OK了,太坑了,花了一天半时间...几乎是没有,好忧伤~ ~) 如果在源代码中,找不到一个标识符声明,无论是变量名、类名或是方法名,则在编译时会得到“Use of undeclared identifier 'XXXX'”错误,而如果编译器找到了它声明...错误分类: 1)   引入了需要用到文件,却没有链接正确实现库。因为Xcode本身所支持库是Static Library,即.a方式,.a文件里只有实现。...a、.m、.framework等引入到工程中,却没有勾选当前Buildtarget,会出现这个问题,可以选中特定文件,在右侧边栏中选中target。 4)  包含处理器架构指令集问题。

1.5K20

【编程基础】C语言内存使用常见问题

所讨论“内存”主要指(静态)数据区、堆区和栈区空间。数据区内存在程序编译时分配,该内存生存期为程序整个运行期间,如全局变量和static关键字所声明静态变量。...规则二:若存在一个强符号和多个弱符号,则选择强符号。 规则三:若存在多个弱符号,则从这些弱符号中任选一个。 当不同文件内定义同名(即便类型和含义不同)全局变量时,该变量共享同一块内存(地址相同)。...若确有必要,应采用静态全局变量(无强弱之分,且不会和其他全局符号产生冲突),并封装访问函数供外部文件调用。...3 volatile修饰 关键字volatile用于修饰易变变量,告诉编译器该变量值可能会在任意时刻被意外地改变,因此不要试图对其进行任何优化。...例如,一个线程不断分配内存,并将指向内存指针保存在一个数据存储(如链表)中。但在运行过程中,一直没有任何线程进行内存释放。

3.2K60

LLVM编译过程

2、LLVM LLVM 是一个开源,模块化和可重用编译器和工具链技术集合,或者说是一个编译器套件。...按下CMD+B之后,一个文件编译过程如下 如上图所示, 预处理(Pre-process):他主要工作就是将宏替换,删除注释展开头文件,生成.i文件。...这一步把源文件代码转化为特殊标记流,源码被分割成一个一个字符和单词,在行尾Loc中都标记出了源码所在对应源文件和具体行数,方便在报错时定位问题。...最终产物就是 以 .o 结尾目标文件。使用Xcode构建程序会在DerivedData目录中找到这个文件。。...链接(Link):上个阶段生成目标文件引用静态库链接起来,最终生成可执行文件(Mach-O 类型),链接器解决了目标文件和库之间链接。 其中,12345属于前端,6属于优化,78属于后端。

1.8K10

【IOS】IOS开发问题解决方法索引(四)

/smking/article/details/7683363 6 Xcode条件编译 条件编译不是多高深技术,却很实用,可以帮助我们针对不同target编译出不同版本。...Signing Identity并编译,但xCode没有自动将编译Target设置成和Project中一致。...离线安装还有一个简单办法就是将以前安装过旧版本XcodeXcode5.0.2下面已经安装好了iOS模拟器直接复制过来使用,目录位置都一样,都是在Xcode.app/Contents/Developer...如果遇到这种情况: image.png 对象有一个Block属性,然而这个Block属性中又引用了对象其他成员变量,那么就会对这个变量本身产生强应用,那么变量本身和他自己Block属性就形成了循环引用...在ARC下需要修改成这样: image.png 也就是生成一个对自身对象引用,如果是倒霉催项目还需要支持iOS4.3,就用__unsafe_unretained替代__weak。

1.1K20

iOS 编译时间优化

设置Xcode编译线程数 从代码中优化 a. 使用静态库代替源码进行编译,cocoapods-binary b. 减少引用第三方库,删除无用文件引用, c....优化头文件搜索路径 避免工程 Header Search Paths 设置了路径递归引用Xcode 编译文件时,会根据 Header Search Paths 自动添加 -I 参数,如果递归引用路径下子目录越多...,-I 参数也越多,编译器预处理头文件效率就越低,所以不能简单设置路径递归引用。...使用PCH预编译文件 PCH(Precompile Prefix Header File)文件,预编译文件,其文件内容能被其他所有源文件访问。通常放通用宏和头文件。...PCH文件编译完成后,后面用到PCH文件文件编译速度也会加快。缺点是PCH文件和PCH引用文件内容一旦发生变化,引用到PCH所有源文件都要重新编译

2.2K11

ruby操作项目.xcodeproj

Group:Group 其实是 Xcode 中用来组织文件一种方式, 它对文件系统没有任何影响 , 无论你创建或者删除一个 Group, 都不会导致 folder 增加或者移除....FileRef:FileRef 其实就是 File Reference 缩写, 当你从 Xcode 中删除一个文件时候, 它会弹出Remove Reference提示框....而其中 Remove Reference 选项并不会将这个文件移除到垃圾桶, 而只是会将这个文件引用Xcode 工程文件中删除....) 4.添加文件到Group中 xcodeproj/project/object/group.rb 为了避免重复添加引用,添加之前先判断是否引用已经存在 if group.find_file_by_path...但是这个文件并没有被添加到 Build Phases 中, 无论你是编译还是作为资源来使用, Xcode 都会提示你无法找到这个文件.

84020

Swift和Objective-C混编在有赞移动实践

这样做主要意义是: 语义上完整描述了一个框架作用 提高编译可扩展性,同一模块只需编译或导入一次,避免了头文件多次引用、解析 减少碎片化,每个模块只处理一次,环境变化不会导致不一致 3.2 modulemap...配置将三方库构建成动态库时,在编译产物中都会生成一个 modulemap 和 module umbrella.h 文件 ? 可以在 Swift 文件这样引用该模块 ?...5.2 模块引用 引用其他 Objective-C 二方库需要增加命名空间(Namespace),否则会报错找不到文件 Swift 命名空间是以模块划分一个模块表示一个命名空间。...开发时,默认添加到主 target 内容是同处于同一个命名空间;如果用 Cocoapods 导入第三方库,是以一个单独 target 存在,不会存在命名冲突。...++ 默认后缀名,Xcode 编译器可以识别。

2K20

Q音直播编译优化与二进制集成方案

将打包流程及头文件导出分离,工程及打包脚本只负责打包,专写一个脚本负责从源文件按目录结构导出头文件放在Header下。(传统方式是要在XCode工程中手动选择暴露Header)。 3....用好pch文件 PCH文件一个标准编译文件( Pre-Compiled Header),其文件内容能被项目中其他文件访问。...优点是其他文件引用写在pch文件不需要重复import;同时pch预编译完成后,其他引用到pch文件编译速度也会加快。 缺点是如果pch引用文件发生改变可能引发大规模重编。...从火焰图中可以看出编译前端中对头文件处理最为耗时,大概率是头文件嵌套引用较为复杂。可以考虑优化topN文件引用。 ? 减少头文件中无用类引入,改为前向声明。...其他方案 ccache 在XCode9编译存在一个bug,pch会在无任何改动时触发重新编译,由此导致所有依赖pch文件都会重新编译,产生预期外全量编译

3.6K41

strong,weak, retain, assign区别@property参数

在OC中:默认对对象都是强引用;如果对象没有强引用会被立即释放 assign:基本数据类型,结构体,枚举,非OC对象类型 以下扯淡比较多 strong与weak是由ARC新引入对象变量属性 xcode...而且如果你试图使用点操作符为属性赋值,你将得到一个编译错误。 readwrite 此标记说明属性会被当成读写,这也是默认属性。设置器和读取器都需要在@implementation中实现。...在使用垃圾收集应用程序中,如果你要一个属性使用assign,且这个类符合NSCopying协议,你就要明确指出这个标记,而不是简单地使用默认值,否则的话,你将得到一个编译警告。...这再次向编译器说明你确实需要赋值,即使它是可拷贝。 retain 指定retain会在赋值时唤醒传入值retain消息。...(原因很明显,retain会增加对象引用计数,而基本数据类型或者Core Foundation对象都没有引用计数——译者注)。 copy 它指出,在赋值时使用传入值一份拷贝。

1.7K100
领券