1. 程式人生 > >匯入第三方報錯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

最近在老專案裡新增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

剛開始一直糾結於arm64的問題 於是參照一下連結做了配置:

配置之後還是有問題 於是開始換了個思路 從依賴庫著手
先解決BGTool的問題步驟如下:

1.找到BGTool檔案 搜尋報錯資訊(_NSManagedObject)

2.點選進入報錯資訊(_NSManagedObject)查詢根依賴庫

3.找到需要新增的依賴庫(上圖的CoreData依賴庫), 並新增該依賴庫  --> Target -->Build Phases --> Link Binary With Libraries

_kUTTagClassFilenameExtension的問題參照上面的步驟找到對應的依賴庫並新增。

然後Command + Shift + K ,重新執行就OK了。

_kUTTagClassFilenameExtension步驟圖如下,以供參考:

1.找到報錯檔案(AFURLRequestSerialization.h)的報錯資訊(_kUTTagClassFilenameExtension)

2.點選進入報錯資訊根依賴庫

3.新增依賴庫(MobileCoreSrevices)