我的反应本机应用程序在Xcode模拟器中工作没有问题,但是当我在物理设备,我的iPhone上运行时,出现问题。该应用程序启动并停留在React Native启动画面上,10-15秒后应用程序崩溃/关闭。这是什么原因以及如何防止它?反应本机应用程序卡在设备上的启动画面,但在模拟器中工作
回答
看来我发现了这个问题。根据http://facebook.github.io/react-native/releases/0.45/docs/running-on-device.html#running-your-app-on-ios-devices,当您在您的设备上构建并运行应用程序时,您的应用程序将从计算机上的打包程序加载js文件,以便您可以重新加载应用程序。这意味着您的设备必须连接到您的计算机,或者必须与计算机位于同一个WiFi网络中。如果您的设备无法访问打包程序,它将卡在启动屏幕上并退出。
要在设备上可靠地运行,请编辑构建模式并构建发行版本。
您可能需要签署该应用程序。
在项目导航器下,单击您的应用程序。然后从项目和目标列表中选择您的目标。在“常规”选项卡中,找到“签名”部分。你需要在这里指定一个团队。
我试图从互联网上断开我的iPhone,这一问题在以后的发布会消失。
所以有些东西试图做网络的东西,造成延迟。 这是一个快速修复,但会做,直到我们找到具体的罪魁祸首。
我已经发布了这一段时间,但解决方案是删除node_modules文件夹并运行npm install以获取干净的文件夹。
应该完全可以在调试中,在设备上运行应用程序,而无需附加打包器!您必须使用react-native bundle
来创建脱机包,并将其添加到您的Xcode项目中。然后,当打包程序不可用时,您的应用程序应该回退到该软件包。
这曾经是在部署到设备FB文档,不知道为什么它不存在了。
样品调用(我们index.ios.js
是打字稿放在./dist
):
react-native bundle --dev true --assets-dest ./ios --entry-file ./dist/index.ios.js --platform ios --bundle-output ios/main.jsbundle
此外,它显然是必要告诉你的应用程序直接从捆绑运行,而不是尝试访问开发服务器,这似乎导致超时(我们有与OP相同的问题)。
注释掉该行:
jsCodeLocation = // whatever
并添加此行:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
我面对这个问题,我在那里反应,本机启动画面。删除它后,它正在工作
没有它说我们正在使用这个软件包。 –
我同意。但不知道为什么这个工作后删除包。我添加了这个答案,因为这解决了我的问题。 – Sujit
我遇到了同样的问题。
我所做的是在Xcode去产品 - >计划 - >编辑方案 - >选择运行选项卡 - >更改构建配置来释放(默认情况下它是调试模式)并运行在设备中的应用。
这是速度更快,运行它像一个原生应用。
- 1. 在iPhone模拟器上启动EXC_BAD_ACCESS。应用程序在设备上工作
- 2. Android应用程序工作在模拟器,但设备失败
- 3. 在模拟器上工作的Android应用程序,但在设备上
- 4. Android应用程序在模拟器上工作,但不在真实设备上
- 5. IOS应用程序在模拟器上工作,但不在设备上
- 6. 应用程序在模拟器上正常工作,但在设备上崩溃
- 7. android应用程序在模拟器上工作,但connectException在设备上
- 8. 应用程序在模拟器上正常工作,但在设备上崩溃
- 9. iOS应用程序在模拟器上工作,但不在真实设备上
- 10. 设备上的应用程序崩溃,但在模拟器上正常工作
- 11. 异常在设备应用程序启动时,工作正常,在模拟器
- 12. 在模拟器中工作但不在设备中的Android应用程序
- 13. Monotouch应用程序不会在设备上启动,但在模拟器中工作正常
- 14. 我的iPhone应用程序在设备上工作,但不是模拟器
- 15. 应用程序在模拟器上工作,但不是真正的设备
- 16. iPhone应用程序在设备中崩溃,但它在模拟器中工作
- 17. 反应本机应用程序“不幸停止”在Android模拟器启动
- 18. 应用程序在模拟器上工作,但不在iPad上
- 19. 应用程序在模拟器上工作,但不在iPhone上
- 20. 应用程序在模拟器中工作,但在真实设备崩溃
- 21. ngCordova相机在模拟器上工作,但不在设备上
- 22. 应用程序在模拟器中工作,在设备上的白色屏幕
- 23. iphone:QuartzCore和动画在模拟器工作,但不是在设备
- 24. 应用工作在模拟器,但不是在设备
- 25. Android应用程序在模拟器上工作,但不是在手机上
- 26. 应用工作在模拟器,但不是设备 - NSMutableArray的
- 27. 我的应用程序在android模拟器上工作,但不能在android设备上工作
- 28. 我的应用程序在模拟器上工作,但没有在真实设备上工作
- 29. GetViewForHeader在模拟器中工作,但不在设备上工作
- 30. 我的应用程序崩溃,但在模拟器上工作
我有一个类似的。我的应用程序可以在iPhone 5S及以上的模拟器和设备上运行。然而,登录应用程序在iPhone 5和4S上自行关闭后。 – milkersarac
我面对完全一样的问题,我的应用程序工作在iPhone模拟器完全正常,但第一次加载后,我的设备上不起作用。 –
我正面临类似的问题。有人能解决这个问题吗? – Nikant