iOS 集错 ~持续收集
1、报错信息
Use of '@import' when C++ modules are disabled, consider using -fmodules and -fcxx-modules
检查了下,是因为控制器 .m 文件被改为 .mm 后缀;
改回来就好了。
2、
duplicate symbols for architecture x86_64
- 检查Build Phases->Compile Sources中是否有重复的.m/.mm/.c等等,删除之。
检查当前Project的文件(一般是第三方导入的库文件)是否有重复,删除之。 - 检查Build Phases->Link Binary With Libraries,是否重复。
搜索错误提示框中的duplicate symbols对应的xxx.o文件的文件名,找到是否有#import xxx.m之类的低级错误,改为.h。
duplicate symbol _someVariablesDuplicated in:
/Users/MacBook/Library/Developer/xxx.build
/Objects-normal/x86_64/xxx.o
- 检查duplicate symbols后面的(此例为变量)_someVariablesDuplicated,搜索someVariablesDuplicated(注意去掉下划线再搜),检查是否有重定义。
3、
does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
大概意思:
这是因为一个第三方的库不兼容,我的工程中开启了 ENABLE_BITCODE (应该是升级之后自动转换的),而这个第三方的库在编译的时候没有 enable bitcode,所以导致上诉问题。
解决办法:将工程的 ENABLE_BITCODE 设置为 false 就可以了
屏幕快照 2019-06-11 下午6.00.42.png4、NSString -> NSNumber
NSString * string;
NSNumber *number = @([string integerValue]);
could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available
循环引用问题,打全局断点,找到问题代码,大部份情况可以这样解决
__weak typeof(self) wself = self
5、 tableview 优化不当闪退
- 必须先[tableView reloadData] 之后才可以单独刷新某个cell或者section
6、
dyld: Library not loaded: @rpath/CloudroomVideoSDK_IOS.framework/CloudroomVideoSDK_IOS Referenced from: /private/var/containers/Bundle/Application/332B49C1-6C15-4D8D-B371-BBF2CD34957D/rrjGFBao.app/rrjGFBao Reason: image not found
- 报错原因,项目中引入三方库,运行时找不到这个库,解决如下图
7、
Property has a previous declaration
- 报错原因:项目中存在重复的文件名
- 解决办法:全局搜索删掉多余的就可以了