文档章节

could not build module 'Foundation'

BookSun
 BookSun
发布于 2016/02/15 12:48
字数 607
阅读 37
收藏 0

今天用Xcode编译项目时,遇到一个莫名其妙的问题:could not build module 'Foundation',以及could not build module 'UIKit',NSString.h expect identifier问题,提示的位置是在Pod的库中。几经查找,才发现是自己一时的粗心。。。

遇到这个问题时,发现真机编译没有问题,然后编译其它项目时也提示类似的问题,最主要的是一个比较简单的项目编译时也会提示NSString.h expect identifier问题,突然警觉难道我不小心把NSString.h修改了?因为上午我的确打开过NSString.h文件。

但是从提示来看根本找不出问题的真实位置,于是我在另一台电脑上找到一份干净的NSString.h文件,与本机的NSString.h文件进行比较,就发现了问题所在:我把- (NSRange)rangeOfString:(NSString *)aString;这一行中的aString给删了。。

我说苹果你好歹也要给库文件加一个只读权限啊,害我苦苦寻找半天原因。不过,相对于那些把Xcode卸载再重新安装的,我算幸运了。

NSString.h文件路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h


20150518更新:

另外一个看NSString.h文件是否被修改更简单的办法应该是打开NSString.h文件所在的文件夹,根据修改时间排序,如果NSString.h最近被修改过,肯定是NSString.h文件被修改了


别人总结的可能的原因:

可能性一:c,c++, oc兼容,就上楼上stackoverflow 的方法修改.pch就行了,或者还要在build parse里面将oc设置为oc++ 
可能二:照着错误提示有一项是@end缺少或者)缺少 ,编译器检测到由此提出的错误后20个左右就罢工了,见too many error emitted... 
可能性二:UIKit库损坏或被修改(貌似ios5以上不能修改,一改就坏)  
                  解决一:通常通过删除moduleCache就可以了,这也是网上通常的做法。 
                  解决二:我在本机上无论如果多次删除moduleCache都无效,最后是问同学拿了个.h文件(怀疑被修改的)覆盖后满血复活! 
最后实在不行,无奈就彻底删除xcode,记住要彻底,不是直接拿去垃圾桶,网上很多教程,重装一个。 
提醒哦,删除moduleCache要clean和reset模拟器一下。


本文转载自:http://blog.sina.com.cn/u/5296969759

上一篇: NSURLCache
下一篇: Block代码块回调
BookSun
粉丝 0
博文 12
码字总数 2513
作品 0
郑州
程序员
私信 提问
Xcode莫名其妙问题could not build module 'Foundation'

今天用Xcode编译项目时,遇到一个莫名其妙的问题:could not build module 'Foundation',以及could not build module 'UIKit',NSString.h expect identifier问题,提示的位置是在Pod的库中......

yoyoso
2015/05/07
0
0
iOS项目工程添加C文件就报错,求解决

项目工程添加一个C文件就报错 ,Could not build module 'Foundation',把C文件从项目工程中删掉,就没有这个错误。这怎么解决?

青灯
2015/06/26
1K
1
你好,根据中英文排序时导入项目中时遇到了问题

@c6357 你好,想跟你请教个问题: 你好,我时导入你Github上的ChineseSorting文件夹与里面的内容,在工程中编译出现24个错误,错误现象大致如下:似乎和pch中的两个框架有冲突!有没有解决方...

WUjincheng
2015/09/01
58
0
debian图形界面启动问题

开始在电脑上装了debian7系统,可以进入桌面,什么都妥妥的。就是安装 xen 之后 如果进入xen 环境,开进准备进入到登陆界面的时候没有反应,只有在桌面左上角有一个光标在动,回车 CTRL +C ...

goh
2014/07/03
1K
0
Ceylon 1.0.0 发布,JVM 上的新语言

Ceylon 1.0.0 发布了,Ceylon面向企业级应用开发设计,在JVM运行时基础上执行,支持与Java的交互操作。Ceylon语言充分借鉴了Java语言的优势并屏蔽其在设计上的不足,使用静态类型并提供高阶函...

红薯
2013/11/14
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

Node.getTextContent() not found 解决办法【不需要调整builder path下面包顺序】

新导入的工程,w3c的getTextContent找不到,response的setCharacterEncoding找不到,网上很多教程都是“调整工程builder path的lib包顺序把jre、tomcat调到上面即可”,但是进入项目的build...

嘿嘿嘿IT
13分钟前
0
0
全站加速(DCDN)- IP应用加速产品解读

5月22日下午15点,阿里云全站加速(DCDN)-IP应用加速如期发布。IP应用加速是阿里云自主研发的一款更高效、更安全、更便捷的动态加速产品,结合阿里云CDN本身的资源优势,利用就近接入、智能...

zhaowei121
28分钟前
0
0
一次奇怪的StackOverflowError问题查找之旅

一次奇怪的StackOverflowError问题查找之旅 公司最近买了一套老代码,在测试环境部署的时候发生了nested exception is java.lang.StackOverflowError的异常,当时看到这个异常首先想到是栈内...

不学无数的程序员
32分钟前
1
0
我为什么飞行 10000 公里去西班牙参加 KubeCon?

2019 年 5 月 20 日至 23 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon EU(欧洲场)即将在热情洋溢的巴塞罗那盛装启幕。 作为云计算领...

阿里云官方博客
36分钟前
0
0
奇技淫巧之判断入参是否为undefined

前言 作为一个程序员,coding是每天必做的事情之一,今天埃尔斯在阅读腾讯AlloyTeam 的一个开源项目AlloyTouch,发现了一个有意思的小技巧,就是对undefined的精准判断。源码地址:https://g...

菜菜行进中
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部