Flutter 開發(fā)從 0 到 1(七) iPhone 真機調(diào)試

Flutter 開發(fā)最大的優(yōu)勢是跨平臺,利用 996 下班時間我寫了簡單的 Flutter 應用,想著怎么運行我的 iPhone 8 上去,了解知道運行真機需要有蘋果開發(fā)者,注冊蘋果開發(fā)者需要 99 刀/年,我……
為了試水,花幾百大洋?我不想。如果 Flutter 不能跨平臺,用 Flutter 開發(fā)那毫無意義,原生開發(fā)不香嗎。
是真的沒辦法嗎?
答案:有。
step0 注冊蘋果開發(fā)者
首先還是要成為蘋果開發(fā)者,免費開發(fā)者就行!
step1 安裝必要插件
運行flutter doctor查看是否缺少必要插件,主要看 iOS 部分,全部打勾了就一定能行。
wuxiaolong@WuXiaolongs-MacBook-Pro?flutter_andblog?%?flutter?doctor
Doctor?summary?(to?see?all?details,?run?flutter?doctor?-v):
[?]?Flutter?(Channel?master,?1.24.0-8.0.pre.147,?on?macOS?11.0.1?20B29?darwin-x64,?locale?zh-Hans-CN)
[!]?Android?toolchain?-?develop?for?Android?devices?(Android?SDK?version?30.0.2)
????!?Some?Android?licenses?not?accepted.??To?resolve?this,?run:?flutter?doctor?--android-licenses
[?]?Xcode?-?develop?for?iOS?and?macOS?(Xcode?12.2)
[?]?Chrome?-?develop?for?the?web
[?]?Android?Studio?(version?4.1)
[?]?IntelliJ?IDEA?Ultimate?Edition?(version?2017.3.5)
[?]?Connected?device?(4?available)
!?Doctor?found?issues?in?1?category.
step2 連接手機
將 iPhone 連接到電腦,Android Studio 上面會顯示你的真機,選擇你的真機設備,準備運行。
step3 Xcode 配置
在 Flutter 項目點擊 ios > Runner 文件夾下的任意文件,點擊“Open iOS module in Xcode”,打開 Xcode。
在 target 設置頁面 Signing&Capabilities 登錄開發(fā)者賬號。

step4 運行程序
Xcode 配置完畢之后,回到 Android Studio,運行你的程序。稍后,就可以在手機里看到你的應用了。
step5 添加證書驗證
運行完畢,興致勃勃打開應用,提示要手動給應用的證書授權(quán),到設置-》通用-》設備管理,里面驗證你的應用,信任了之后不用再授權(quán)。
step6 錯誤
Could?not?run?build/ios/iphoneos/Runner.app?on?2060bf844.
Try?launching?Xcode?and?selecting?"Product?>?Run"?to?fix?the?problem:
??open?ios/Runner.xcworkspace
Error?launching?application?on?iPhone.
再打開,提示“In iOS 14+,debug mode Flutter apps can only be launched from Flutter tooling,IDEs with Flutter plugins or from Xcode.Alternatively,build in profile or release modes to enable launching from the home screen.”,意思要使用 Xcode,第一次運行就報了以上錯誤,沒在意,我點擊了錯誤信息“ios/Runner.xcworkspace”,點擊運行,握草,成功了。
之后發(fā)現(xiàn)直接在 Android Studio 運行也可以,如果把 APP 后臺殺掉,打開應用又會提示“In iOS 14+,debug mode Flutter apps can only be launched from Flutter tooling……”,畢竟是免費開發(fā)者,調(diào)試夠了。
