This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

iOS 模拟器

编辑页面

了解如何在你的 Mac 上安装 iOS 模拟器,并使用它来开发你的应用。


直接在电脑上开发你的应用,可能比不断与 iPhone 或 iPad 交互更方便,尤其是在网络条件较慢,或者由于 LAN 限制需要使用 隧道连接 时。

本指南说明如何在 Mac 上安装 iOS 模拟器以进行应用开发。请注意,iOS 模拟器只能安装在 macOS 上。如果你正在使用 Windows 或 Linux 机器开发 iOS 应用,则需要一台实体 iOS 设备。

设置 Xcode 和 Watchman

1

安装 Xcode

打开 Mac App Store,搜索 Xcode,然后点击 安装(如果你已经安装了,则点击 更新)。

2

安装 Xcode 命令行工具

打开 Xcode,从 Xcode 菜单中选择 设置...(或者按 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 应用。你可能需要与模拟器进行交互(点击几下、拖动某些内容),这个提示才会出现,然后按 确定

如何安装特定版本的 Expo Go?

你可以使用所需的 SDK 版本创建一个项目,并在模拟器中打开它,以安装匹配版本的 Expo Go。

Terminal
# 启动一个 SDK 57 项目
npx create-expo-app --template blank@57

# 在模拟器中打开应用以安装所需的 Expo Go 应用
npx expo start --ios

或者,你也可以通过传入 SDK 版本,使用 expo-go CLI 下载特定版本的 Expo Go,或者使用 latest 获取最新的 SDK 版本。此命令会将 Expo Go 应用下载到当前目录,并将其缓存到 ~/.expo 下。

Terminal
npx expo-go download ios latest

Expo CLI 正在输出关于 xcrun 的错误消息,我该怎么办?

对于其他错误,请尝试以下操作:

  • 在你的模拟器上手动卸载 Expo Go,然后在 Expo CLI 终端 UI 中按 Shift + I,并选择所需的模拟器以重新安装。
  • 如果这没有帮助,请将焦点切换到模拟器窗口,然后在 Mac 工具栏中选择 设备 > 抹掉所有内容和设置...
    这会从一个空白镜像重新初始化你的模拟器。当你的电脑内存较低,导致模拟器无法存储某些内部文件并使设备处于损坏状态时,这有时会很有用。