跳转至

教程 5 - 在移动设备上:iOS

编译 iOS 应用程序需要 Xcode,可从 macOS App Store 免费下载。当 Xcode 完成安装时,从“应用程序”打开它并接受 Xcode 许可协议。接下来,Xcode 会展示哪些模拟器运行时已内置,哪些可以下载。选择 iOS 模拟器运行时旁边的复选框,并点击“继续”来下载和安装它。

安装好 Xcode 与 iOS 模拟器后,我们就可以将应用程序作为 iOS 应用程序进行部署。

将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 create 命令,但这次我们指定要创建一个 iOS 应用程序:

(beeware-venv) $ briefcase create iOS

[helloworld] 生成应用程序模板...
使用应用模板:https://github.com/beeware/briefcase-iOS-Xcode-template.git,分支 v0.3.18
...

[helloworld] 安装支持包...
...

[helloworld] 安装应用程序代码...
正在安装 src/helloworld... 完成

[helloworld] 正在安装依赖项...
...

[helloworld] 正在安装应用程序资源...
...

[helloworld] 正在移除不需要的应用程序内容...
...

[helloworld] 已创建 build/helloworld/ios/xcode

完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 build/helloworld/ios/xcode 目录。

然后,您可以使用 briefcase build iOS 来编译应用程序:

(beeware-venv) $ briefcase build iOS

[helloworld] 更新应用元数据...
设置主模块... 完成

[helloworld] 构建 Xcode 项目...
...
构建中... 完成

[helloworld] 已构建 build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app

现在我们可以使用 briefcase run iOS 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。

(beeware-venv) $ briefcase run iOS

选择模拟器设备:

   1) iPad(第10代)
   2) iPad Air(第5代)
   3) iPad Pro(11英寸)(第4代)
   4) iPad Pro (12.9 英寸) (第 6 代)
   5) iPad mini (第 6 代)
   6) iPhone 14
   7) iPhone 14 Plus
   8) iPhone 14 Pro
   9) iPhone 14 Pro Max
   10) iPhone SE (第 3 代)

>  10

将来,您可以通过以下命令指定该设备:

 $ briefcase run iOS -d "iPhone SE (第 3 代)::iOS 16.2"

或者:

 $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E

[helloworld] 在运行 iOS 16.2 的 iPhone SE(第 3 代)上启动应用(设备 UDID 2614A2DD-574F-4C1F-9F1E-478F32DE282E)
启动模拟器... 完成
打开模拟器... 完成

[helloworld] 安装应用...
正在卸载现有应用版本... 完成
正在安装新应用版本... 完成

[helloworld] 启动应用...
正在启动应用... 完成

[helloworld] 以下是模拟器日志输出(按 CTRL-C 停止日志)...
===========================================================================
...

这将启动 iOS 模拟器,安装你的应用程序并启动它。你应该能看到模拟器启动,并最终打开你的 iOS 应用程序:

Hello World 教程 5 窗口,在 iOS 上

当应用程序运行时,您会在控制台中看到一系列模拟器输出信息。向命令行中按 Ctrl + C 会停止控制台中的信息,但不会关闭模拟器。这样,您无需重启模拟器,也能可以继续测试新更改。

如果事先知道要使用哪个 iOS 模拟器,可以通过提供 -d(或 --device)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:

$ briefcase run iOS -d "iPhone SE (第3代)"

如果你有多个 iOS 版本,Briefcase 会选择最高的 iOS 版本;如果你想选择某个 iOS 版本,你可以告诉它使用该特定版本:

$ briefcase run iOS -d "iPhone SE (第3代)::iOS 15.5"

或者,您也可以命名一个特定的设备 UDID:

$ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E

下一步

我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?转到教程6就知道了…