1. 程式人生 > >iOS專案編譯失敗提示找不到靜態庫的解決

iOS專案編譯失敗提示找不到靜態庫的解決

在我的iOS專案中嵌入了一個自己寫的靜態庫工程,之前在模擬器上執行都是正常,靜態庫的名字是:HyCommon,在我的App工程中有:

import HyCommon

今天打算切換到真機上執行,編譯時提示:無法找到靜態庫HyCommon.(之前也在真機上除錯執行過,都是正常的).

檢查專案的確生成了libHyCommon.a檔案,而且路徑也沒錯;將其刪除後重新建立也不行!

開啟AppName/Build/Products/Debug-iphoneos/HyCommon.swiftmodule目錄,發現其中有2個檔案:

arm64.swiftdoc
arm64.swiftmodule

將其全部刪除後,再次重建靜態庫,發現libHyCommon.a可以生成,但上述目錄中少了
arm64.swiftmodule檔案!

新建一個專案,同樣嵌入HyCommon工程;同樣在真機上編譯,是OK的,到其對應的HyCommon.swiftmodule目錄中將缺少的檔案拷貝到失敗專案的同名檔案中,再次編譯,成功了!

看來Xcode在編譯連結時除了.a檔案以外還需要對應的.swiftmodule檔案.

記錄之,備查!