导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

最近在老项目里添加BGFMDB及AFNetWorking的时候一直报错,具体错误信息如下:

ld: warning: -no_pie ignored for arm64

Undefined symbols for architecture arm64:

"_OBJC_CLASS_$_NSManagedObject", referenced from:

objc-class-ref in BGTool.o

ld: symbol(s) not found for architecture arm64

 

"_kUTTagClassFilenameExtension", referenced from: _AFContentTypeForPathExtension in AFURLRequestSerialization.o

ld: symbol(s) not found for architecture arm64

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

刚开始一直纠结于arm64的问题 于是参照一下链接做了配置:

Undefined symbols for architecture arm64解决方案 

配置之后还是有问题 于是开始换了个思路 从依赖库着手
先解决BGTool的问题步骤如下:

1.找到BGTool文件 搜索报错信息(_NSManagedObject)

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

2.点击进入报错信息(_NSManagedObject)查询根依赖库

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

 

3.找到需要添加的依赖库(上图的CoreData依赖库), 并添加该依赖库  --> Target -->Build Phases --> Link Binary With Libraries
导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

_kUTTagClassFilenameExtension的问题参照上面的步骤找到对应的依赖库并添加。

 

然后Command + Shift + K ,重新运行就OK了。

 

 

 

_kUTTagClassFilenameExtension步骤图如下,以供参考:

1.找到报错文件(AFURLRequestSerialization.h)的报错信息(_kUTTagClassFilenameExtension)

2.点击进入报错信息根依赖库

3.添加依赖库(MobileCoreSrevices)

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64

导入第三方报错warning: -no_pie ignored for arm64 symbol(s) not found for architecture arm64