Swift引入Framework時無法訪問public屬性和方法

從Github下了一個Framework,打算手動生成framework動態(tài)庫。

參考了下面這篇文章:
xCode6制作動態(tài)及靜態(tài)Framework

將生成的.framework文件導(dǎo)入到自己的項(xiàng)目,并且添加了Embedded Binaries

Embedded Binaries

完成后在需要調(diào)用的源文件加上import PKHUD

然后出現(xiàn)了問題:怎么也調(diào)用不了framework里明明是public的類、方法、屬性

經(jīng)過反復(fù)的嘗試,發(fā)現(xiàn)了原因:
# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.
lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"

用腳本合并模擬器和真機(jī)的framework時調(diào)用了lipo命令。在以前制作.a靜態(tài)庫的時候確實(shí)只要這句話即可,但是.framework文件中包含了module文件,lipo命令并不會合并兩個文件夾中的文件

Module

可以看到只有arm和arm64的module,而模擬器卻需要i386和x86_64的module,所以才會調(diào)用不了。

將Release-iphonesimulator\XXX.framework\Modules\XXX.swiftmodule中的i386和x86_64的文件拷貝到合并后的framework相應(yīng)路徑,問題解決。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容