new flutter project,選擇Flutter Plugin,next,輸入插件名,包名,運(yùn)行平臺(tái)及編寫語言,finish!
創(chuàng)新互聯(lián)公司成立與2013年,先為長嶺等服務(wù)建站,長嶺等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為長嶺企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
如上圖,筆者的插件名為log_plugin,選用Android,java語言開發(fā)
在自動(dòng)打開和插件名同名的dart文件,聲明要使用其他語言的方法,本例使用java 語言實(shí)現(xiàn)Android原生的log輸出
編輯 android/src/main/java/com/whh/log_plugin/LogPlugin.java
在onMethodCall方法中,區(qū)別聲明方法名,以實(shí)現(xiàn)該方法邏輯
至此,簡單的插件開發(fā)完成,接下來測(cè)試
example是插件測(cè)試工程,打開其中的main.dart
打開已有的或者新建一個(gè)flutter app project,在其pubspec.yaml引入插件
使用pub get 關(guān)聯(lián)到插件
詳見官網(wǎng)文檔
此文為 flutter 初學(xué)者記錄學(xué)習(xí)過程,附上 github ,小小分享~
每天進(jìn)步一點(diǎn)點(diǎn)。。。(2021-08-10)
1,執(zhí)行 flutter pub publish--dry-run 檢查是否具備發(fā)布條件
遇到的問題1:
It‘s strongly recommended to include a “homepage“ or “repository“ field
解決方案:在 pubspec. yaml ?中配置 主頁 homepage 地址 :
homepage:
可參考:
2,執(zhí)行 flutter pub publish--server= 發(fā)布
如果執(zhí)行flutter pub publish發(fā)布的話會(huì)遇到以下錯(cuò)誤,國內(nèi)還是用?flutter pub publish--server= 來發(fā)布
package repository requested authentication! You can provide credential using:pub token add
問題1:It looks like accounts.google.com is having some trouble. Pub will wait for a while before trying to connect again. OS Error: Operation timed out, errno = 60, address = accounts.google.com, port = 53481 pub finished with exit code 69
原因:
1、國內(nèi)墻;
2、flutter環(huán)境配置添加了國內(nèi)鏡像
解決方式:
1、翻墻;
2、屏蔽環(huán)境變量里關(guān)于flutter的國內(nèi)鏡像;
屏蔽方式如下:
# export PUB_HOSTED_URL=
# export FLUTTER_STORAGE_BASE_URL=
3、設(shè)置終端代理命令(這個(gè)是我解決的方式),這個(gè)非常重要,不然就會(huì)報(bào)上面超時(shí)錯(cuò)誤了
如果出現(xiàn):Flutter pub finished with exit code 1
解決方式:flutter packages pub publish --server=
此問題原文鏈接:(畢竟要尊重版權(quán))
問題2:LICENSE這個(gè)文件中不能有TODO,也不能為空,可找個(gè)flutter庫看看別人是怎么寫的
Flutter插件是Flutter調(diào)用原生能力的一種解構(gòu)方式。
Flutter 會(huì)通過 MethodChannel 將數(shù)據(jù)傳遞給 iOS/ Android ,反之 iOS/ Android 也可以通過 MethodChannel 將數(shù)據(jù)傳回給 Flutter。
在Flutter工程根目錄創(chuàng)建plugins目錄,在plugins目錄下執(zhí)行下面命令:
Flutter-Native
Native-Flutter
為了提升用戶體驗(yàn),使用三方登錄APP的功能怎么能少呢,但是蘋果的AppStore有一個(gè)很變態(tài)的要求,接入其他三方登錄的話,要求必須也要接入蘋果登錄。面對(duì)這么變態(tài)的要求,作為一個(gè)有實(shí)力的碼農(nóng)怎么能拒絕呢!
下面為大家介紹一個(gè)好用的Flutter插件 Sign in With Apple ,可以幫助我們快速的接入蘋果賬號(hào)功能,插件的英文文檔講的比較詳細(xì)了,英文好的同學(xué)可以直接參閱英文文檔集成。
在項(xiàng)目的 pubspec.yaml 文件中添加sign_in_with_apple插件的依賴,如果您使用的Flutter SDK 1.x版本請(qǐng)?zhí)砑右蕾嚢姹?2.5.4 :
如果您使用的Flutter SDK為2.x,請(qǐng)使用最新版本,當(dāng)前最新版本 3.0.0
使用XCode打開項(xiàng)目后,按照以下圖片上的步驟添加 Sign in With Apple Capabilities:
成功添加 Sign in With Apple能力后,可以在下面的列表中就代表添加成功了,如下圖:
原理:我們都知道,F(xiàn)lutter調(diào)用原生的API需要通過插件來實(shí)現(xiàn),permission_handler就是獲取原生手機(jī)權(quán)限。
解決記錄: