React Native Expo Managed App 在 iOS 模拟器上没有 launch/start
React Native Expo Managed App doesn't launch/start on iOS simulator
在开发 React Native 应用程序时,我用旧的 Windows 笔记本电脑遇到了困难,所以我转向了 MacOS 笔记本电脑。我安装了 Android Studio 和 Xcode(包括 Xcode 命令行工具)。然后我初始化了一个空白的世博会管理项目。我在 Android 模拟器和 iOS 模拟器上启动。 Android 一个出现了 ádb´ 错误(或者可能是警告)。但另一方面,iOS 模拟器什么也没做。 iOS 设备上没有安装 Expo Go 应用程序,因此无法使用它启动我的应用程序。我没有收到与此问题相关的任何错误或警告,因此我无法追踪问题。
- 我已经尝试删除位于 ´~/.expo/´ 的全局 expo 文件夹,我还尝试将该文件夹的 777(所有权限)授予我当前的用户。
- 我尝试全局卸载并重新安装 expo 包。
- 我确定我已经在 ´Xcode -> 首选项 -> 位置 -> Xcode 13.2.1 (13C100)´[=25= 上选择了 Xcode 命令行工具]
- 我尝试启动不同的 iOS 设备,例如(iPhone 6、8、13、iPod 等)
- 我尝试清除缓存并使用“sudo npm start --clear-cache”启动 expo
我已经尝试解决这个问题至少 2 个小时,我尝试了所有可能与我的问题相关的方法,但 none 确实有效。不过有一件事我不明白。尽管我使用了不同的 iOS 设备模拟器,但 Expo Metro Bundler 显示了这个 '› 在 iPhone 8' 输出上打开 exp://10.42.33.15:19000。我试过 iPhone 13、iPhone 6、iPod 等,但这是不同设备的相同输出。这是一些与 probem 相关的屏幕截图:
https://www.youtube.com/watch?v=dvuZn6gX_Q4
YouTube 上的这个教程视频帮助我解决了我的问题。我想我遗漏了一些东西:
- 我没有在我的 Mac 上为 Xcode、Android Studio 和 VS Code 授予所需的隐私权限。打开
System Preferences > Security & Privacy > Go Privacy Tab > Give Full Disk Access to Xcode, VS Code, Android Studio, Terminal and Watchman
(watchman不是必须的,不过我之前为了解决问题也安装过)
- 您应该在启动 expo 应用程序之前同时启动 Android 和 iOS 模拟器。只需转到 Android Studio 并启动您的设备。要启动 iOS 设备,请使用 bash 并键入
open -a simulator
.
- 如果您的 iOS 模拟器上没有安装 Expo Go 应用程序,那么您应该先安装它,然后再启动您的 expo 应用程序。要安装它,请使用
expo client:install:ios
命令。
- 使用
expo start
命令启动您的应用程序。输入 i
和 a
或单击 Run on iOS simulator
和 Run on Android device/emulator
按钮以在设备上启动您的应用程序。
注意:如果您的应用程序卡在 New update available, downloading...
阶段,那么您可以使用 expo start -c
命令启动带有清理缓存的 expo 应用程序。对我很有帮助。
注意 2:您可能需要对我提到的某些命令使用 sudo
命令,我不确定哪些是必需的。
在开发 React Native 应用程序时,我用旧的 Windows 笔记本电脑遇到了困难,所以我转向了 MacOS 笔记本电脑。我安装了 Android Studio 和 Xcode(包括 Xcode 命令行工具)。然后我初始化了一个空白的世博会管理项目。我在 Android 模拟器和 iOS 模拟器上启动。 Android 一个出现了 ádb´ 错误(或者可能是警告)。但另一方面,iOS 模拟器什么也没做。 iOS 设备上没有安装 Expo Go 应用程序,因此无法使用它启动我的应用程序。我没有收到与此问题相关的任何错误或警告,因此我无法追踪问题。
- 我已经尝试删除位于 ´~/.expo/´ 的全局 expo 文件夹,我还尝试将该文件夹的 777(所有权限)授予我当前的用户。
- 我尝试全局卸载并重新安装 expo 包。
- 我确定我已经在 ´Xcode -> 首选项 -> 位置 -> Xcode 13.2.1 (13C100)´[=25= 上选择了 Xcode 命令行工具]
- 我尝试启动不同的 iOS 设备,例如(iPhone 6、8、13、iPod 等)
- 我尝试清除缓存并使用“sudo npm start --clear-cache”启动 expo
我已经尝试解决这个问题至少 2 个小时,我尝试了所有可能与我的问题相关的方法,但 none 确实有效。不过有一件事我不明白。尽管我使用了不同的 iOS 设备模拟器,但 Expo Metro Bundler 显示了这个 '› 在 iPhone 8' 输出上打开 exp://10.42.33.15:19000。我试过 iPhone 13、iPhone 6、iPod 等,但这是不同设备的相同输出。这是一些与 probem 相关的屏幕截图:
https://www.youtube.com/watch?v=dvuZn6gX_Q4
YouTube 上的这个教程视频帮助我解决了我的问题。我想我遗漏了一些东西:
- 我没有在我的 Mac 上为 Xcode、Android Studio 和 VS Code 授予所需的隐私权限。打开
System Preferences > Security & Privacy > Go Privacy Tab > Give Full Disk Access to Xcode, VS Code, Android Studio, Terminal and Watchman
(watchman不是必须的,不过我之前为了解决问题也安装过) - 您应该在启动 expo 应用程序之前同时启动 Android 和 iOS 模拟器。只需转到 Android Studio 并启动您的设备。要启动 iOS 设备,请使用 bash 并键入
open -a simulator
. - 如果您的 iOS 模拟器上没有安装 Expo Go 应用程序,那么您应该先安装它,然后再启动您的 expo 应用程序。要安装它,请使用
expo client:install:ios
命令。 - 使用
expo start
命令启动您的应用程序。输入i
和a
或单击Run on iOS simulator
和Run on Android device/emulator
按钮以在设备上启动您的应用程序。
注意:如果您的应用程序卡在 New update available, downloading...
阶段,那么您可以使用 expo start -c
命令启动带有清理缓存的 expo 应用程序。对我很有帮助。
注意 2:您可能需要对我提到的某些命令使用 sudo
命令,我不确定哪些是必需的。