错误总结

  1. 当调整项目结构的时,不小心挪动了系统的info.plist文件, 运行是会报下面的错误
    could not read data from '/Users/xxx/Desktop/Proj/ProjName/Info.plist': The file “Info.plist” couldn’t be opened because there is no such file.
    产生的原因是: info.plist找不到原来的路径了。
    解决办法 : 在项目中修改下info.plist的路径就可以了。
    项目中点击
    targets --> Build Settings -->搜索 Info.plist --> Packaging -> info.plist File
    后面跟的的路径就是info.plist的路径, 修改成你挪动后的路径 OK BuildSuccess.
    还有一种情况是 项目中删掉了info.plist文件也会报这个错
  1. Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'Proj/Other/Info.plist'.
    编译时将 info.plist文件也进行了编译
    解决方案: 在 Copy Bundle Resources中将警告文件删除重新编译即可
  1. Undefined symbols for architecture arm64: _OBJC_CLASS_$_AppDelegate, referenced from:objc-class-ref in main.o objc-class-ref in ViewController.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

这种错误产生的原因之一是 Compile Sources 中缺少了你项目中引用的类 .m 文件导致无法编译 这种情况大多出现在引用第三方类库中
解决方法: 在Compile Sources中添加 你引用类的.m即可

貌似还有一种原因是因为 Compile Sources出现了重复的类的.m文件 保留一个你用的,删除一个你不需要的 注意 :你删除的.m文件的路径

Command /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng failed with exit code 1
产生原因是: png图像文件拷贝失败 可以查看错误提示Can't find哪个文件,一般都是从文件系统里删除文件而没有通过Xcode删除造成的,Xcode的项目配置文件依然纪录着这个文件的引用
解决办法: 给文件系统里增加相应的文件,或者从Xcode的Groups & Files删除它,或者从TargetCopy Bundle Resources里删除它

5.遇到一个坑,是别人开源的分类,用的时候一点要注意 分类名称是 UIButton+touch ,在iPhone4S上突然所有按钮只能响应一次touch事件。巨坑 看了代码,发现是单例加运行时。一目了然。然后删掉了之后build就正常了。。。

6 . 使用cocoapod导入不提示头文件, 在 User Header Search Paths 在添加 ${SRCROOT} 并选择 recursive 即可

屏幕快照 2016-03-21 19.16.33.png
  1. 这样警告的就是你当前项目中没有这些lib了,可以将这些lib的路径删掉
    项目 -> Target -> Build Settings -> search Path -> Framewrok Search Path | Library Search Path
错误总结_第1张图片
截图1.png

错误总结_第2张图片
截图2.png

ARC dealloc 没有被调用 - 原因1: 自己定义block的时候,引用self要注意 在外部弱引用 __weak ;
原因2: 定义代理的时候:使用了strong修饰符来修饰 代理对象导致强引用
原因3: 临时变量 使用strong修饰,导致强引用
af 内部就已经作了__weak了,然后在block里面又使用了一次__strtong,这样可以保证block执行的过程中,self不回被销毁,知道block释放的时候才销毁self

系统库找不到系统头文件
比如hpple的 file not found ,那就是编译时找不到libxml2这个库的头文件了, 解决方案: 在build Settings搜索Header Search PathsLibrary Search Paths添加 ${SDKROOT}/usr/include/libxml2

错误总结_第3张图片
如图.png

错误总结_第4张图片
如图所示.png

使用cocoapods安装库报错

Analyzing dependencies
Downloading dependencies
Installing pop (1.0.9)

[!] Error installing pop
[!] /usr/local/bin/git clone https://github.com/facebook/pop.git /var/folders/v1/vvrc5tlx6fq7zh_fn59ptwh00000gs/T/d20160330-14219-5npwql --single-branch --depth 1 --branch 1.0.9

Cloning into '/var/folders/v1/vvrc5tlx6fq7zh_fn59ptwh00000gs/T/d20160330-14219-5npwql'...
fatal: unable to access 'https://github.com/facebook/pop.git/': Could not resolve host: github.com

解决方案(仅供参考,总之我是采取了这种方式解决的): 打开Mac 网络设置,高级 --->DNS--> 添加一个IP: 8.8.8.8,重新运行pod命令就可以了

SVN

SVN单独提交图片的时候,例如 icon.png 和[email protected].如果SVN中已经存在 icon.png 这个时候想要把[email protected] add一下
会发现命令行报错svn add /Users/xxx/Desktop/xxx/xxx/xxx/Classes/Others/CustomUI/xxx/[email protected] /Users/xxx/Desktop/xxx/xxx/xxx/Classes/Others/CustomUI/xxx//icon.png ' not found
解决办法 一般iOS图片文件都会包含@2x,@3x之类的字符比如icon@2x,icon@3x,当你在svn命令行中add或是delete的时候总是报错说file does not exit之类的错误,其实之类包含有@xx的文件可以这样处理 svn add icon@2x@在文件后面添加个@符号 svn del icon@3x@

svn 提交.a 文件

回到桌面 --> 前往文件夹 ~/.subversion 该目录下有个config文件 / 或者命令进入vi ~/.subversion/config ,打开以后 然后在[miscellany]项找到这个串

global-ignores = *.o *.lo *.la *.al .libs *.so .so.[0-9] *.a *.pyc .pyo # .rej ~ ## .# ..swp .DS_Store
这里的意思是, SVN在提交时自动忽略以这些后缀的文件, 那么我们要去掉*.a这一项, 则将配置文件改为
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store 然后执行命令svn add xxx/xxx/xxx/libOCMock.a .a在本项目中的路径
出现 A (bin) libOCMock.a 表示添加成功 ,然后 svn commit -m "' 就可以了

svn commit 时 出现xxx out of date
  • 解决方案: 先执行点到出现文件的上级目录,执行 更新操作,然后再提交。
有一次偶然碰到调试的时候断点没走。调查了一下原因:

不走断点的原因是: - http://www.ss28.com/article/ssqb/2017-04-01/76332.html

这个选项设置为NO 断点就不走了。。。。

01 Undefined symbols for architecture x86_64:
02 "operator delete", referenced from:
03 +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
04 +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
05 +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
06 +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
07 "operator new[](unsigned long)", referenced from:
08 +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
09 +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
10 +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
11 +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)
12 ld: symbol(s) not found for architecture x86_64
13 clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决办法:加入libc++.tbd

你可能感兴趣的:(错误总结)