Expo React-Native iOS 模拟器不工作

Posted

技术标签:

【中文标题】Expo React-Native iOS 模拟器不工作【英文标题】:Expo React-Native iOS Simulator not working 【发布时间】:2019-08-07 16:22:14 【问题描述】:

您好,我遇到了 Expo React-Native 的问题。每当我尝试启动 ios 模拟器时。我收到此错误:

Simulator is installed but is identified as 'com.apple.CoreSimulator.SimulatorTrampoline'; don't know what that is.
Simulator not installed. Please visit https://developer.apple.com/xcode/download/ to download Xcode and the iOS simulator. If you already have the latest version of Xcode installed, you may have to run the command `sudo xcode-select -s /Applications/Xcode.app`.

Screenshot of Expo Results

我的 NPM 版本是 6.7.0 react-native-cli: 2.0.1 反应原生:0.57.1​​ 世博版2.11.9

我还确保我在 Xcode 上的命令行工具设置完美 Xcode CommandLineTools

最后我也尝试运行命令sudo xcode-select -s /Applications/Xcode.app

没有任何作用..

【问题讨论】:

现在尝试清除缓存或任何其他基本故障排除 你有什么版本的 X Code?​​span> 我有同样的错误。 github.com/facebook/react-native/issues/23878 看起来 RN 正在关门:github.com/facebook/react-native/issues/… 【参考方案1】:

我遇到了同样的问题,通过在启动 expo 之前手动启动模拟器应用程序来解决它。

应用位于 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app

【讨论】:

【参考方案2】:

是的,您可以通过在启动 expo 之前启动模拟器应用程序来临时修复它: 打开 -a 模拟器;展会开始

但是下次打开它时,您还必须再次运行这两个命令。 现在,您可以使用别名开始打开 ​​-a 模拟器;展会开始

【讨论】:

【参考方案3】:

是的,此外,您每次重新启动时都必须授予权限.. 因为这些是警报.. 模拟器需要永远渲染。这不是可接受的工作流程。现在我只是在设备上渲染。真的希望这个问题能尽快得到妥善解决。

【讨论】:

【参考方案4】:

根据这个线程What does com.apple.CoreSimulator.CoreSimulatorService do?,您可以正确执行模拟器启动。

killall -9 com.apple.CoreSimulator.CoreSimulatorService

实际上,启动模拟器是可以的,但是如果我重新启动一次模拟器,问题仍然存在。

更新:

Apple 提供了patch 10.2.1。通过 App Store 更新 XCode 后,它似乎工作得更好。我的模拟器启动时出现错误,但在终端中再次按“i”后,即使我重新启动该进程,它也能正常工作。

别忘了用npm install -g expo-cli更新最新版本的expo-cli

【讨论】:

【参考方案5】:

我找到的最简单的解决方案;在您的 Expo 项目的 package.json 文件中更改您的 npm start 脚本:

"start": "expo start", > "start": "open -a Simulator && expo start",

【讨论】:

【参考方案6】:

如果它对其他人有帮助,首先打开模拟器的修复对我不起作用,因为我没有安装命令行工具。您可以打开 xCode,转到 preferences > locations > command line tools,如果那里是空的,您需要安装它们。安装后,expo start 将给出与 OP 相同的错误,但您可以使用 open -a Simulator && expo start 建议。

【讨论】:

这对我有用!【参考方案7】:

先手动打开模拟器会有帮助:

open -a Simulator

那么如果使用expo:

expo start 

最后点击:

"Run on iOS simulator"

【讨论】:

对于其他所有内容,请参阅这些文档并单击正确的选项卡、expo 或 RN cli:facebook.github.io/react-native/docs/getting-started.html【参考方案8】:

? 我已经面临同样的问题一个月了,但我终于找到了一个适合我的解决方案:

    将我的 Xcode 更新到 11.1 版✨ 打开 Xcode 11.1: (1) 仔细检查“Xcode 11.1”是否被选为我的“命令行工具”; (2) 在“组件”选项卡下,我手动下载了一个模拟器(iOS 12.2) 将 Expo 客户端更新为 @3.1.2 ✨ sudo npm install --unsafe-perm -g expo-cli 将 Node.js 从版本 11.6.0 更新到 12.0.0
sudo npm install -g n
npm cache clean -f
    重新启动我的项目和我的模拟器 npm start

✨ 成功启动了我的 iOS 模拟器并构建了我的项目! ✨

【讨论】:

【参考方案9】:
expo client:install:ios

这对我有用。

【讨论】:

【参考方案10】:

尝试先从 Xcode 打开模拟器,然后启动 Expo Metro。

【讨论】:

以上是关于Expo React-Native iOS 模拟器不工作的主要内容,如果未能解决你的问题,请参考以下文章

facebook登录错误,react-native ios expo

Expo react-native 将无法连接到 socketio(Android 和 iOS)

Expo react-native app with firebase phone authentication在web上工作,在ios模拟器上出错,在Android上崩溃而没有警告

如何使用搜索文本输入(expo、react-native)在屏幕上显示项目

从 react-native 创建 Android 和 iOS 应用

为啥 React-Native 无法在与 Expo 的 Android 连接上启动项目?