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 菜单中选择 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 模拟器不会响应 open 命令。如果它似乎卡在此提示上,请自行启动一个模拟器,然后再次运行应用。

Terminal
# List the simulators installed on your Mac
- xcrun simctl list devices available

# Start one of them by name
- xcrun simctl boot "iPhone 17"

Xcode 27 用 Device Hub 替代了 Simulator 应用。运行 open -a DeviceHub 将其打开。每台正在运行的设备都会显示在侧边栏中。在 Xcode 26 上,则运行 open -a Simulator。

你可以同时运行多个模拟器。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 57 项目
- yarn create expo-app --template blank@57

# 在模拟器中打开应用以安装所需的 Expo Go 应用
- yarn expo start --ios
# 启动一个 SDK 57 项目
- pnpm create expo-app --template blank@57

# 在模拟器中打开应用以安装所需的 Expo Go 应用
- pnpm expo start --ios
# 启动一个 SDK 57 项目
- bun create expo --template blank@57

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

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

Terminal
- npx expo-go download ios latest
- yarn dlx expo-go download ios latest
- pnpm dlx expo-go download ios latest
- bunx expo-go download ios latest

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

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

  • 手动卸载模拟器上的 Expo Go,然后在 Expo CLI Terminal UI 中按 Shift + I,并选择所需的模拟器重新安装。
  • 如果这没有帮助,请在 Device Hub 中选择模拟器,然后选择 Device > Reset Content and Settings...
    Xcode 26 上的 Simulator 应用将此菜单项称为 Erase All Content and Settings...
    这会从空白映像重新初始化模拟器。当电脑内存不足,导致模拟器无法存储某些内部文件并使设备进入损坏状态时,这有时会很有用。