我的項(xiàng)目中的Flutter是通過Cocoapods集成的,具體三種集成形式參考(在你的既有應(yīng)用中集成 Flutter module)
在最近的一次使用AndroidStudio的時(shí)候星著,按照提示升級了一堆插件后黔姜,我回到Xcode繼續(xù)編寫iOS時(shí),加入了一個(gè)調(diào)試框架后门扇,運(yùn)行pod install后雹有,編譯是可以通過的偿渡,但一旦真機(jī)Run起來后臼寄,就直接甩出報(bào)錯(cuò)dyld: Library not loaded: @rpath/App.framework,但實(shí)際通過嵌入App.framework這種形式是會破壞原有的嵌入形式的溜宽,而且一旦更新組件就需要一堆指令集操作吉拳。
所以經(jīng)過一番研究,解決辦法如下:
1适揉、在Flutter目錄下運(yùn)行:flutter build ios --release (報(bào)錯(cuò)的話自行解決留攒,一般都是簽名一類的問題)
2、在Flutter目錄下運(yùn)行:flutter build ios-framework--output=some/path/MyApp/Flutter/嫉嘀,其中some/path/MyApp/Flutter/為你存放framework的文件目錄炼邀,自定義。
3剪侮、將第二步生成的App.xcfamework/ios-arm64_armv7下的文件拷貝進(jìn)第一步生成在Xcode中App.framework的目錄下拭宁,刪除.xcworkspace,Xcode clean瓣俯、重新pod install,重新打開新的xcworkspace即可成功運(yùn)行杰标。
總結(jié):主要問題是不知道什么版本原因還是什么Bug,實(shí)際build生成的App.framework下只有一個(gè)App執(zhí)行文件彩匕,所以導(dǎo)致找不到框架問題腔剂,通過手動生成復(fù)制進(jìn)去解決。