Flutter 插件開(kāi)發(fā)及iOS端手動(dòng)導(dǎo)入第三方sdk

flutter 插件開(kāi)發(fā)
1,創(chuàng)建項(xiàng)目
flutter create --template=plugin --platforms=android,ios hello
--template=plugin:創(chuàng)建插件包
--platforms=android,ios:指定平臺(tái) 注意platform的單復(fù)數(shù)??

默認(rèn)情況,模板支持使用java編寫(xiě)安卓代碼,oc編寫(xiě)ios代碼,要使用kotlin或swift,使用-i和/或-a標(biāo)志
進(jìn)入項(xiàng)目目錄,flutter create -i objc -a java .(最后的.不要漏掉??)
2,創(chuàng)建flutter平臺(tái)客戶(hù)端
該應(yīng)用的state擁有當(dāng)前的應(yīng)用狀態(tài),我們需要延長(zhǎng)這一點(diǎn)以保持當(dāng)前的電量
構(gòu)建通道,使用MethodChannel調(diào)用一個(gè)方法來(lái)返回電池電量
通道的客戶(hù)端和宿主通過(guò)構(gòu)造函數(shù)中傳遞的通道名稱(chēng)進(jìn)行連接。單個(gè)應(yīng)用中使用的所有通道名稱(chēng)必須是唯一的;建議在通道名稱(chēng)前加一個(gè)唯一的前綴,如samples/flutter/io/test
3,使用java添加安卓平臺(tái)特定的實(shí)現(xiàn)
。。。
4,使用oc添加ios平臺(tái)特定的實(shí)現(xiàn)

手動(dòng)導(dǎo)入第三方sdk
以alipay為例:
1,打開(kāi)插件文件夾flualipay
2,進(jìn)入iOS文件夾(注意:不是example里的ios文件夾)
3,創(chuàng)建文件夾,命名為Frameworks(名字隨意,但需與后面保持一致)
4,將支付寶sdk官網(wǎng)下載好的sdk放入Frameworks文件夾
路徑如下:


圖片.png

5,打開(kāi)iOS文件夾下的.podspec文件,即flualipay.podspec
輸入:
s.ios.vendored_frameworks = 'Frameworks/AlipaySDK.framework'
s.vendored_frameworks = 'AlipaySDK.framework'

注:此處Frameworks/AlipaySDK.framework中的Frameworks為上面創(chuàng)建文件夾的名字。第一句為指定sdk位置,第二句引用sdk

6,根據(jù)官方文檔在xcode中添加所需的系統(tǒng)庫(kù)
7,執(zhí)行pod install,Pods中插件文件夾下會(huì)出現(xiàn)上面創(chuàng)建的文件夾,且文件夾中有添加的支付寶sdk


圖片.png

報(bào)錯(cuò):"OBJC_CLASS$_UTDevice", referenced from:objc-class-ref in AlipaySDK
將下載的支付寶demo里的AlipaySDK.framework替換上面framework文件夾里的AlipaySDK.framework

圖片.png

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

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