我一直在使用React Native开发一个应用程序,当我切换到Mac环境来设置iOS的配置时,在所有设置完成后,应用程序打开非常快,安装后关闭,显示由React Native提供动力的屏幕。我注意到在我的打包程序屏幕中,显示加载进度的捆绑包行没有出现,就好像它从来没有被加载过一样。如果我试图从Xcode运行代码,也会发生同样的事情。
这是我所说的屏幕,用于我为比较目的而启动的测试项目:
下面是我的应用程序的相同屏幕,没有显示进度指示器:
我尝试遵循社区为类似问题提供的一些解决方案,但都不起作用。请注意,我的终端窗口中没有显示错误信息,就好像构建和安装已经成功。
有人能帮我这个吗?我一直在挣扎与这个应用程序相当长的一段时间,作为React Native似乎总是崩溃,并显示错误消息给我。任何帮助将不胜感激:)
编辑:忘了提一下我正在模拟器上运行这个应用程序,因为我没有一个实际的设备。
8条答案
按热度按时间mpgws1up1#
正是这个问题发生在我昨天,当我也安装了
react-native-firebase
。我运行react-native run-ios
和应用程序关闭,只要它打开没有任何具体的错误。我决定从Xcode运行应用程序,所以我打开了Xcode项目。更准确地说,我打开了
<Project>.xcworkspace
,因为我安装了CocoaPods。在日志中,当我试图运行应用程序时,我发现了错误。它说找不到GoogleService-Info.plist
。当我浏览Xcode工作区时,我没有看到那里的文件。虽然它存在于我的IDE(VSCode)中的/ios/<Project>/
下。所以可能只是一个同步问题。所以基本上我也在Xcode中添加了文件,重新运行应用程序运行良好。
当然,我不知道我是否能找到一些可信的来源,但这个问题发生在我身上的情况和你的完全一样。
sqyvllje2#
一些解决方案...
npm install
运行。问题很可能出在您的react版本上。请尝试降级到稳定的react版本,然后尝试
cotxawn73#
检查日志中是否有错误,在终端上运行
react-native log-ios
并监视它是否有错误。或者您可以通过按
command+D
从模拟器启用DebugJSRemotely选项,并检查控制台是否有错误。evrscar24#
尝试使用adb logcat *:E,这将是有帮助的,当你试图找到问题不相关的js.
vjrehmav5#
我取决于您的react-native版本,如果您使用的是其最新版本0.56.0(目前),它有一个已知问题,您可以在这里看到,它应该在下一个版本0.57.0中修复
https://github.com/facebook/react-native/issues/19953
虽然Android版本出现了这个问题,但它在iOS中也有类似的问题(最新评论,提供了有关错误的更多信息)
目前,可能的修复方法是降级到0.55.4或0.55.0
如果这无法解决您的问题,请在问题中添加package.json和build.gradle信息,以提供有关您的应用程序的详细信息
piztneat6#
添加firebasecrashlytics或一次又一次地打开该应用程序,因此它导航到日志屏幕以查找问题。主要是由于错误配置的pod设置造成的。因此请检查您的Podfile。因为所有其他错误都来自应用程序的内部错误控制台。我附上非错误形式的Podfile供您参考。这只是示例
注:
1.如果您使用的是firebase,不要忘记通过xcode将GoogleService-Info.plist添加到ios目录中。
1.如果你使用的firebase analytics也会导致崩溃。因为它需要太多的配置来避免崩溃。所以先检查你的构建,不要使用firebase analytics。如果一切正常,你可以稍后添加分析
z2acfund7#
如果它发生没有任何重大变化关闭终端,模拟器和任何其他相关的应用程序。清理项目清理缓存
清理并安装pod文件
重新生成项目。
e1xvtsh38#
我经历了同样的问题,因为昨天,应用程序我的工作是旧的,我们正在使用“React”:“16.8.3”,“天然React”:“^0.59.10”,虽然应用程序以前为我正常工作,我从Github Repo克隆了应用程序的新副本,它第一次工作,然后我再次发出相同的命令NPX React-Native Run-Android,安装后应用程序应该打开,而打开它开始崩溃,没有错误,我看到类似的地铁捆绑屏幕已在问题中分享。我试图通过android工作室运行android文件夹,我可以看到一个问题,我无法解决,因为昨天
/node_modules/@React Native社区/网络信息/android/gradle.properties(不允许操作)
我不知道该怎么解决。