1、解析友盟错误: Application received signal SIGABRT
解决办法: 查看(转载自:https://www.jianshu.com/p/1f473e7bbd9f)
2、Duplicate interface definition for class ‘xxxx’
解决办法:项目中有同名的文件名,查看xxx类,是否重复,如果重复,删除或者改名
3、Undefined symbols for architecture x86_64: “OBJC_CLASS$_xxxxx”, referenced from:
常见原因和解决方法:
1)、缺少静态库:
- 环境:
在模拟器上报错但在真机上能运行成功,而且报的错误来自于第三方库。 - 原因:
architecture x86_64
是指模拟器的架构,意思就是 Crypto 变量在模拟器架构里没有找到。
静态库也分不同架构的,可能你项目里使用的这个库只用了真机版本的(该静态库不支持在模拟器下编译),没有使用模拟器版本的,所以模拟器跑的时候没有找到对应的库,这些需要的变量也就缺失了。 - 解决方法:
把模拟器版的库也下下来,然后跟真机版的合成一个静态库,这样就通用了。
PS:有些第三方库就很蛋疼,只有真机版本的,所以就只能真机调试了。
2)、缺少库或框架:
-
环境:
导入某一个类,在模拟器真机都运行报错。 -
原因:
可能这个类所属的库或框架(这个类引用的库或框架)没有被添加到项目中。
比如你在项目中使用了sqlite3
,但是没有添加libsqlite3.dylib
。 -
解决方法:
添加这个类所属的库或者框架(这个类引用的库或框架),步骤如下:TARGETS -> Build Phases -> Link Binary With Libraries -> +
Link Binary With Libraries
3)、添加文件错误:
-
环境:
在你将文件添加到项目中时,未选择Add to targets
。
add file -
原因:
在你将文件添加到项目中时,未选择 Add to targets 进行添加。 -
解决方法:
为正确的目标打开Build Phases
,展开Compile Sources
并添加缺少的.m
文件,步骤如下:TARGETS -> Build Phases -> Compile Sources -> add the missing .m class -> Build and Run
add the missin .m class
4. git 在 Develop_1 分支上修改内容,切回 Develop 分支,出错
可能出错的原因如下:
1)修改了Cocoapods的内容
2) 删除了本地物理目录文件
按照上面的思路,去查找问题,基本上都可以得到解决。