(更新)汇总:ios开发出现Undefined symbols for architecture xxx问题的解决办法

(此贴为更新贴,可以直接跳转到分割线之后看)

此前公司项目中做一个实时监控的app

在xcode运行时,碰到了如下截图的问题:

(更新)汇总:ios开发出现Undefined symbols for architecture xxx问题的解决办法_第1张图片

关键字:

_VTDecompressionSessionInvalidate、_VTDecompressionSessionDecodeFrame、_VTDecompressionSessionCreate

直接在工程的bulid phases中引入VideoToolbox.framework,就可以解决问题了!

在stack oveFflow找到的对应解决办法:

https://stackoverflow.com/questions/35645230/ffmpeg-libavcodec-a-xcode-linker-issues-undefined-symbols-for-architecture-arm

 

================================ 分割线 ==============================

汇总出现Undefined symbols for architecture xxx问题的解决办法

1. .m文件没有导入   
在Build Phases里的Compile Sources 中添加报错的文件

####

 

找到图示红色框中的两个.m文件并导入

2. .framework/.a文件没有导入
静态库编译时往往需要一些库的支持,查看你是否有没有导入的库文件
同样是在Build Phases里的Link Binary With Libraries中添加

 

3. 重复编译,可能你之前复制过两个地方,在这里添加过两次,删除时系统没有默认删除编译引用地址
在Build Settings里搜索Search Paths  将里面Library Search Paths 中没有用到的地址删除

 

假如以上三种方法均无效!那么在这我得提醒,当出现此类运行出错时,我们关注的报错信息一定要全!

通常情况下(指我个人),都只会关注如下截图图1的信息,却忽略了图2

(更新)汇总:ios开发出现Undefined symbols for architecture xxx问题的解决办法_第2张图片

 

 

 

 

 

 

(更新)汇总:ios开发出现Undefined symbols for architecture xxx问题的解决办法_第3张图片

 

 

 

 

 

 

 

最近在开发一个关于扫二维码的项目,用到了ZXingObjC库,但是却遇到了Undefined symbols for architecture xxx的问题!当时我就是只在意图1的信息,然后我尝试了上面提到的所有办法,都没有效果!

偶然之下,我注意到了图2,发现图2上面有一行特别醒目的文字(图二中已用红色框选中),于是寻思是否和工程的支持ios版本有关系,我之前一直是ios8.0的,后来我将工程的development target改为11.0,运行,之前的报错神奇地消失了,项目正常运行!

####

 

 

所以我才发现这图2也是很重要的,不可忽视的!

这里明确一点,要是再遇到此类问题,还是按照前文提到的三种方法去排除问题!这里只是想阐明一点,图2的信息是很重要的,可能报错的具体原因就会在图2中有提及到的!

(如有言语欠妥之处,还望诸位海涵!)

你可能感兴趣的:(ios)