昨天,我正在开发我的应用程序,一切都很顺利。我发现了两个可靠地启动远程调试器并运行iOS模拟器的命令。这两个命令已经可靠地工作了大约48个小时,我很高兴我将这些命令保存在桌面上的文本文件中以便于访问:
open "rndebugger://set-debugger-loc?host=localhost&port=8081"
react-native run-ios
然后我犯了一个可怕的错误:我去睡觉了。当我醒来时,命令不再起作用。第一个命令启动调试器,但第二个命令(“react-native run-ios”)产生各种结果,没有任何帮助(参见下面的注释)。充其量,模拟器启动,但我的应用程序是白屏。
尝试了各种各样的事情(列出进程以查看是否有东西可以杀死,多次重启机器等)我决定将我的应用程序核对并重新开始。所以,我存档我的应用程序并使用“create-react-native-app AwesomeProject”等创建了一个新的应用程序。我进入了项目目录然后几乎运行了“npm start”(正如文档建议的那样)但终端输出建议“纱线开始“所以我去了。这给了我一个展示的二维码,但我仍然想在屏幕上使用模拟器。所以我回到了大约48小时非常可靠的命令:
open "rndebugger://set-debugger-loc?host=localhost&port=8081"
react-native run-ios
但他们只是不再工作了。充其量,我可以在屏幕上获得一个模拟器,但如果我在模拟器中导航到我的应用程序,它是一个白色的屏幕。我在模拟器的硬件菜单中尝试了“擦除所有内容和设置”,退出模拟器等。
我能再次在屏幕上查看模拟器吗?我是否需要卸载expo以获取屏幕模拟器?我不应该再睡觉吗?我是否能够在早上醒来,快速启动模拟器然后成为应用程序开发人员?我应该放弃模拟器并调整我的工作流程以使用物理设备作为模拟器吗?
编辑:为了澄清,各种结果包括:模拟器没有出现在屏幕上;模拟器出现并打开iPhone的桌面,但当我导航到应用程序并打开它时,它是一个白色的屏幕;模拟器出现和应用程序启动时没有导航到它,但它是一个白色的屏幕。
编辑2:这是另一个数据点。刚才我再次删除了我的应用程序并使用create-react-native-app创建了一个新应用程序。然后我进入项目目录并运行npm start。然后我得到一个二维码,并确认我可以使用世博会在我的设备中打开该应用程序。我在终端中看到了这个错误,这可能与此问题无关:
2:31:11 PM: Error: './assets/icons/icon.png' could not be found, because './assets/icons' is not a subdirectory of any of the roots ('/Users/me/Apps/MyAwesomeApp')
2:31:11 PM: at /Users/me/Apps/MyAwesomeApp/node_modules/metro/src/Assets/index.js:192:11
2:31:11 PM: at Generator.next (<anonymous>)
2:31:11 PM: at step (/Users/me/Apps/MyAwesomeApp/node_modules/metro/src/Assets/index.js:329:347)
2:31:11 PM: at /Users/me/Apps/MyAwesomeApp/node_modules/metro/src/Assets/index.js:329:507
2:31:11 PM: at <anonymous>
所以我有一个工作的应用程序,可以用我的设备测试它,但在我的显示器上安装模拟器会很好。然而,“react-native run-ios”并没有给我这个。
答案 0 :(得分:0)
(唉,下面这个过程不能正常工作。它工作了一次。然后我尝试将调试器集成到这个过程中。在发布这个StackOverflow答案后不久,我跑了&#39;打开&#34; rndebugger:// set-debugger-loc?host = localhost&amp; port = 8081&#34;&#39;。这似乎打破了模拟器,虽然应用程序仍在我的设备中运行。我现在再次试图找出如何使模拟器工作。暂时,以下似乎是正确的答案,但它不再工作 - 现在我得到一个&#34;运行时尚未准备好调试&#34;红屏。)
我找到了一个过程,在这种特殊情况下让模拟器再次工作(更新:它不起作用。请参阅本答案顶部的注释)。我在我的Mac和我的设备上有博览会,因此这些说明假设您有博览会应用程序:
因此,在我可以在Mac上打开模拟器之前,似乎我必须首先在我的设备上运行该应用程序。在我的设备上运行应用程序似乎有些不妥。
答案 1 :(得分:0)
安装Chrome浏览器。 Expo希望安装Chrome。在Mac OS中安装Chrome后,只要您使用Y = visuals[1][0]
X = visuals[0][0]
运行模拟器,就会在Chrome中打开远程调试器。