总结以前碰到过的相关问题,记录一波~
1. symbol(s) not found for architecture x86_64
编译报错,提示不支持x86_64
解决思路一: 排查一些库文件或者代码文件有没有导入,一般为依赖文件找不到导致报错, Build Phases -> complite sources 或者 link binary with libraries ,未添加的文件加进去,如果还是不行再试试其他问题
2. clang: error: no such file or directory: 'xxxx' (记录于2019.03.06)
clang: error: no such file or directory: 'DACircularProgress'
clang: error: no such file or directory: 'MJRefresh'
clang: error: no such file or directory: 'YYImage'
编译之后有以上报错:
!. 检查对应的目录,是不是有没删除干净的,红色的文件
2. Other link flgs 设置不对, -framework和库名是按顺序成对出现的
如图:
如果只删除了库名,没有删除库名对应的-framework,那就是上述的报错了
记录一波,2019年03月06号 13:25:58
3. 项目中存在一些第三方库的plist文件与系统的info.plist文件冲突 (删掉即可)(记录于2018.09.20)
Showing Recent Messages
:-1: Multiple commands produce '/Users/wangguibin/Library/Developer/Xcode/DerivedData/RongNiuOnline-fzkuntarvfnbhlahgftwzlapbewj/Build/Products/Debug-iphonesimulator/RongNiuOnline.app/Info.plist':
1) Target 'RongNiuOnline' (project 'RongNiuOnline') has copy command from '/Users/wangguibin/Desktop/MyFramework/RongNiuOnline/RongNiuOnline/AppConfigFile/Info.plist' to '/Users/wangguibin/Library/Developer/Xcode/DerivedData/RongNiuOnline-fzkuntarvfnbhlahgftwzlapbewj/Build/Products/Debug-iphonesimulator/RongNiuOnline.app/Info.plist'
2) Target 'RongNiuOnline' (project 'RongNiuOnline') has copy command from '/Users/wangguibin/Desktop/MyFramework/RongNiuOnline/RongNiuOnline/Common/Component/Other/FSCalendar/Info.plist' to '/Users/wangguibin/Library/Developer/Xcode/DerivedData/RongNiuOnline-fzkuntarvfnbhlahgftwzlapbewj/Build/Products/Debug-iphonesimulator/RongNiuOnline.app/Info.plist'
3) Target 'RongNiuOnline' (project 'RongNiuOnline') has process command with output '/Users/wangguibin/Library/Developer/Xcode/DerivedData/RongNiuOnline-fzkuntarvfnbhlahgftwzlapbewj/Build/Products/Debug-iphonesimulator/RongNiuOnline.app/Info.plist'
4. exception:*** Collection <__NSArrayM: 0x60400065e7e0> was mutated while being enumerated. (记录于2018.01.30)
可变数组使用for-in方式遍历,同时操作数据源数据产生的crash
正确✅姿势应该使用enumerate-block或者使用局部变量中转一下,操作完再赋值给全局变量
5. libc++abi.dylib: terminating with uncaught exception of type NSException
这个bug是XIB的View与控制器的命名很相似,比如 DemoView 和 DemoViewController ,系统读取XIB文件的优先级也是先读取控制器的,但是读取View的时候发现它不是个View
6. error: cannot parse the debug map (记录于2017.08.19)
引入了错误的头文件或者是引入的是.m文件 排查到改掉即可
7. Xcode8.3.2使用UIImagePickerController导致[Generic] Creating an image format with an unknown type is an error (记录于2017.08.09)
- 异步赋值
- dismiss的block里获取image
8. 友盟统计报错"_compress2", referenced from: (记录于2017.06.20)
"_compress2", referenced from:
+[UMANUtil deflatedDataPrefixedWith:level:source:] in libMobClickLibrary.a(UMANUtil.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方法是:在Other Linker Flags里加入-lz然后再编译通过
类似的其他
"_compress2", referenced from:
"_inflateReset", referenced from:
"_inflateInit_", referenced from:
"_inflateEnd", referenced from:
"_inflateInit2_", referenced from:
均可以通过-lz来解决。
-lz 会让你的程序在编译的时候against the built-in zlib,从而解决问题
9. WebView首次加载出现黑边现象(记录于2017.06.09)
需要设置如下类似代码适配:(X以上设置88)
_webView.scrollView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
[_webView.scrollView setContentOffset:CGPointMake(0, -64)];
_webView.opaque = NO;
_webView.backgroundColor = [UIColor whiteColor];
10. 遇到一个”libBacktraceRecording.dylib`__gcd_queue_item_enqueue_hook_block_invoke:”GCD崩溃的问题 (记录于2017.05.17)
运行了好好的,过了大约几分钟之后自然crash... 百度google找了一些资料,说是这问题只出现在模拟器上.
解决办法: 项目product > scheme > edit scheme > options > Queue Debugging: Enable backtrace recording 这个选项不要勾选☑️就ok啦(默认是勾选的 可能有的项目不会出现这个情况)
11. app:resource fork, Finder information, or similar detritus not al site:forums.developer.apple.com 爬坑 (记录于2017.05.11)
(1)关闭Xcode,打开终端;
(2)在终端中输入cd(cd后跟一个空格,先不慌张按回车);
(3)打开项目的文件夹,文件夹中有四个文件(有的项目写的比较乱,会有很多文件,这样的就直接将项目文件拉到终端就行了),一个.md文件,一个.xcodeproj文件,一个工程文件和一个带有Tests单词的文件。将工程文件拉到终端中(知道路径的可以在c的后面直接敲路径),路径会自动显示出来,这时直接按回车键;
(4)输入指令“xattr -rc .”,回车; (xattr -rc . 注意这个小点一定要打上)
(5)打开项目重新运行,OK了!