Flutter 开发从 0 到 1(七) iPhone 真机调试

Flutter 开发最大的优势是跨平台,利用 996 下班时间我写了简单的 Flutter 应用,想着怎么运行我的 iPhone 8 上去,了解知道运行真机需要有苹果开发者,注册苹果开发者需要 99 刀/年,我……

为了试水,花几百大洋?我不想。如果 Flutter 不能跨平台,用 Flutter 开发那毫无意义,原生开发不香吗。

是真的没办法吗?

答案:有。

step0 注册苹果开发者

首先还是要成为苹果开发者,免费开发者就行!

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 登录开发者账号。

step4 运行程序

Xcode 配置完毕之后,回到 Android Studio,运行你的程序。稍后,就可以在手机里看到你的游戏​应用了。

 

step5 添加证书验证

运行完毕,兴致勃勃打开www.sangpi.com应用,提示要手动给应用的证书授权,到设置-》通用-》设备管理,里面验证你的应用,信任了之后不用再授权。

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”,点击运行,握草,成功了。

之后发现直接在 Android Studio 运行也可以,如果把 AP去掉打开应用又会提示“In iOS 14+,debug mode Flutter apps can only be launched from Flutter tooling……”,毕竟是免费开发者,调试够了。

 

 

 

上一篇:苹果Mac软件开发工具:Xcode 让开发者如虎添翼


下一篇:深入理解Java虚拟机(一)MacOS构建编译环境