离线状态下苹果模拟器只能安装本地编译的 simulator 架构 .app 文件,需确保模拟器已启动(Booted)、路径正确且用 xcrun simctl install 命令安装。

苹果模拟器离线状态下无法通过App Store、iCloud或网络签名服务安装任何APP,必须依赖本地已编译完成的 .app 文件,且该文件必须是专为 simulator 架构(x86_64 或 arm64e)构建的原生包,不能是 IPA、未签名包或真机版二进制。
确认模拟器已启动且处于 booted 状态
打开 Xcode → 顶部菜单栏选择 Window → Devices and Simulators → 切换到 “Simulators” 标签页 → 找到目标设备(如 iPhone 15),确认其右侧状态显示为 【Booted】。若显示 Shutdown,需先选中该设备,再点击右下角 ▶ 启动按钮。未启动就执行后续命令会直接报错:Error Domain=NSPOSIXErrorDomain Code=2 “No such file or directory”。
获取本地可用的 .app 安装包
方法一:从 Xcode 编译产物中提取
在 Xcode 中成功编译项目(Product → Build)→ 按住 Option 键 → Product → Show Build Folder in Finder → 进入 Build → Products → Debug-iphonesimulator(或 Release-iphonesimulator)→ 找到与项目同名的 xxx.app 文件。这一步必须在本机完成编译,不能用他人导出的 .app,否则可能因签名或架构不匹配导致安装后图标不显示或点击无响应。
方法二:终端快速定位(推荐)
打开终端,执行:
find ~/Library/Developer/Xcode/DerivedData -name "*.app" -type d | grep -i "Debug-iphonesimulator"
它会列出所有 simulator 架构下的 .app 路径,复制最末尾那个完整路径(含空格需加英文双引号)。注意:【.ipa 文件完全不可用,强行解压重命名成 .app 仍会崩溃,因指令集不兼容】。
用 simctl 命令完成离线安装
第一步:验证 xcrun 可用性
在终端运行 xcrun simctl list devices,若提示 command not found,请先执行:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
第二步:执行安装命令
输入:
xcrun simctl install booted "/Users/你的用户名/Library/Developer/Xcode/DerivedData/项目名-随机串/Build/Products/Debug-iphonesimulator/项目名.app"
⚠️ 路径中若有空格或中文,必须用英文双引号包裹;路径末尾不能有斜杠 /;路径必须指向 .app 文件夹本身,不是其父目录。
第三步:检查安装结果
命令执行后无任何输出即为成功。回到已启动的模拟器主屏幕,向右滑动或下拉搜索,即可看到新安装的 App 图标。若图标未出现,说明 .app 架构错误或模拟器未处于 booted 状态。











