iOS 模拟器

编辑

了解如何在 Mac 上安装 iOS 模拟器并用它来开发您的应用程序。


直接在计算机上开发应用程序可能比不断与 iPhone 或 iPad 交互更方便,尤其是在网络条件较慢或由于 LAN 限制需要 隧道连接 的情况下。

本指南说明如何在您的 Mac 上安装 iOS 模拟器以进行应用开发。请注意,iOS 模拟器只能安装在 macOS 上。如果您使用 Windows 或 Linux 计算机开发 iOS 应用程序,您将需要一个物理 iOS 设备。

设置 Xcode 和 Watchman

1

安装 Xcode

打开 Mac App Store,搜索 Xcode,然后点击 Install(如果已经安装,则点击 Update)。

2

安装 Xcode 命令行工具

打开 Xcode,从 Xcode 菜单中选择 Settings...(或按 cmd ⌘ + ,)。然后转到 Locations,通过在 Command Line Tools 下拉菜单中选择最新版本来安装工具。

3

在 Xcode 中安装 iOS 模拟器

要安装 iOS 模拟器,请打开 Xcode > Settings... > Components,在 Platform Support > iOS ... 下点击 Get

4

安装 Watchman

Watchman 是一个监视文件系统变化的工具。安装它将提高性能。你可以通过以下命令安装它:

Terminal
brew update
brew install watchman

4

尝试一下

使用 npx expo start 运行您的应用,并从命令行按 i

您可能会收到一个有关需要接受 Xcode 许可证的警告。运行它所建议的命令。再次打开您的应用以查看是否成功。如果没有,请查看下面的 故障排除 提示。

您还可以在 Expo CLI 中按 shift + i 互动选择要打开的模拟器。

Expo Orbit

您可以使用 Expo Orbit 应用,它允许从 macOS 菜单栏一键启动构建和模拟器管理。

使用 Expo Orbit

了解更多关于如何使用 Expo Orbit。

限制

尽管 iOS 模拟器适合快速开发,但它确实有一些限制。我们将在下面列出一些影响 Expo API 的主要区别。不过,请查看 Apple 的文档 获取更多详细信息。

在模拟器中无法使用以下硬件:

  • 音频输入
  • 气压计
  • 相机
  • 运动支持(加速度计和陀螺仪)

模拟器还会暂停 iOS 11 及后续版本上的后台应用程序和进程。

故障排除

当打开模拟器时 CLI 似乎卡住了

有时 iOS 模拟器对打开命令没有响应。如果它似乎卡在此提示上,您可以手动打开 iOS 模拟器 (open -a Simulator),然后在 macOS 工具栏中选择 文件 > 打开模拟器,并选择您希望打开的 iOS 版本和设备。

您可以使用此菜单打开任何版本的模拟器。您也可以同时打开多个模拟器,但是 Expo CLI 将始终针对最近打开的模拟器。

模拟器已打开但 Expo Go 应用未在其中打开

首次在模拟器中安装应用时,iOS 会询问您是否希望打开 Expo Go 应用。您可能需要与模拟器交互(点击周围,拖动某些东西)以显示此提示,然后按 确定

如何强制更新到最新版本?

创建一个具有所需 SDK 版本的项目,并在模拟器中打开以安装特定版本的 Expo Go。

Terminal
# Bootstrap an SDK 53 project
npx create-expo-app --template blank@53

# Open the app on a simulator to install the required Expo Go app
npx expo start --ios

Expo CLI 打印了关于 xcrun 的错误消息,我该怎么办?

对于杂项错误,尝试以下操作:

  • 手动卸载模拟器上的 Expo Go,并在 Expo CLI 终端 UI 中按 shift + i 并选择所需的模拟器重新安装。
  • 如果这没有帮助,聚焦模拟器窗口,在 Mac 工具栏中选择 设备 > 抹掉所有内容和设置...
    这将从空白镜像重新初始化您的模拟器。这在计算机内存不足且模拟器无法存储某些内部文件时有时很有用,这会导致设备处于损坏状态。