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文件夾
路徑如下:

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

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