匯入第三方報錯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)