iOS开发中经典错误Undefined symbols for architecture arm64: ld: symbol(s) not found for architecture arm64

出现这个问题的原因有多种,这里先记录下此次解决方案。

具体错误如图:

图中VectorShape是一个自己封装的.framework库文件;

解决方案:Build Phases下,Link Binary With Libraries中加入AppTrackingTransparency.framwork系统库文件。

iOS开发中经典错误Undefined symbols for architecture arm64: ld: symbol(s) not found for architecture arm64_第1张图片 

分析(造成此问题的原因之一):

"_OBJC_CLASS_$_ATTrackingManager", referenced from:

objc-class-ref in VectorShape(ShaderExtension.o)”

从此处错误信息中可以看到是库文件的ShaderExtension文件里的错误,如果库文件可以找到源码的话,可以看下这个文件中引用的系统库文件,如果Link Binary With Libraries里没有添加这个系统库文件,就会出现这个经典错误。

你可能感兴趣的:(ios)