在ios模拟器上安装后,React Native应用程序可快速打开和关闭

thtygnil  于 2023-01-27  发布在  React
关注(0)|答案(8)|浏览(196)

我一直在使用React Native开发一个应用程序,当我切换到Mac环境来设置iOS的配置时,在所有设置完成后,应用程序打开非常快,安装后关闭,显示由React Native提供动力的屏幕。我注意到在我的打包程序屏幕中,显示加载进度的捆绑包行没有出现,就好像它从来没有被加载过一样。如果我试图从Xcode运行代码,也会发生同样的事情。
这是我所说的屏幕,用于我为比较目的而启动的测试项目:

下面是我的应用程序的相同屏幕,没有显示进度指示器:

我尝试遵循社区为类似问题提供的一些解决方案,但都不起作用。请注意,我的终端窗口中没有显示错误信息,就好像构建和安装已经成功。
有人能帮我这个吗?我一直在挣扎与这个应用程序相当长的一段时间,作为React Native似乎总是崩溃,并显示错误消息给我。任何帮助将不胜感激:)
编辑:忘了提一下我正在模拟器上运行这个应用程序,因为我没有一个实际的设备。

mpgws1up

mpgws1up1#

正是这个问题发生在我昨天,当我也安装了react-native-firebase。我运行react-native run-ios和应用程序关闭,只要它打开没有任何具体的错误。
我决定从Xcode运行应用程序,所以我打开了Xcode项目。更准确地说,我打开了<Project>.xcworkspace,因为我安装了CocoaPods。在日志中,当我试图运行应用程序时,我发现了错误。它说找不到GoogleService-Info.plist。当我浏览Xcode工作区时,我没有看到那里的文件。虽然它存在于我的IDE(VSCode)中的/ios/<Project>/下。所以可能只是一个同步问题。
所以基本上我也在Xcode中添加了文件,重新运行应用程序运行良好。
当然,我不知道我是否能找到一些可信的来源,但这个问题发生在我身上的情况和你的完全一样。

sqyvllje

sqyvllje2#

一些解决方案...

  • 如果你是在最新的React版本,然后尝试降级。
  • 重新启动应用程序并尝试再次运行。
  • 删除节点模块文件夹并使用npm install运行。
  • 尝试使用XCODE打开项目并通过它构建。
    问题很可能出在您的react版本上。请尝试降级到稳定的react版本,然后尝试
cotxawn7

cotxawn73#

检查日志中是否有错误,在终端上运行react-native log-ios并监视它是否有错误。
或者您可以通过按command+D从模拟器启用DebugJSRemotely选项,并检查控制台是否有错误。

evrscar2

evrscar24#

尝试使用adb logcat *:E,这将是有帮助的,当你试图找到问题不相关的js.

vjrehmav

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信息,以提供有关您的应用程序的详细信息

piztneat

piztneat6#

添加firebasecrashlytics或一次又一次地打开该应用程序,因此它导航到日志屏幕以查找问题。主要是由于错误配置的pod设置造成的。因此请检查您的Podfile。因为所有其他错误都来自应用程序的内部错误控制台。我附上非错误形式的Podfile供您参考。这只是示例

    • 播客文件**
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 
platform :ios, '12.0'

target 'iospodapp' do 
  config = use_native_modules!  
  use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :hermes_enabled => false
  ) 
  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways.podspec"
  pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse.podspec"
  pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary.podspec"
  pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications.podspec"
  pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec"

  pod 'YogaKit'  
  pod 'Firebase/Performance'
  pod 'Firebase/Messaging'    
  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' 
  pod 'react-native-orientation', :path => '../node_modules/react-native-orientation'
  pod 'RNFS', :path => '../node_modules/react-native-fs'

  target 'iospodappTests' do
    inherit! :complete
    # Pods for testing
  end

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable the next line.
  
  use_flipper!() 

  post_install do |installer|
    flipper_post_install(installer)
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
       end
    end 
  end
end

注:
1.如果您使用的是firebase,不要忘记通过xcode将GoogleService-Info.plist添加到ios目录中。
1.如果你使用的firebase analytics也会导致崩溃。因为它需要太多的配置来避免崩溃。所以先检查你的构建,不要使用firebase analytics。如果一切正常,你可以稍后添加分析

z2acfund

z2acfund7#

如果它发生没有任何重大变化关闭终端,模拟器和任何其他相关的应用程序。清理项目清理缓存

npm start -- --reset-cache

清理并安装pod文件

Cd IOS && podinstall

重新生成项目。

e1xvtsh3

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(不允许操作)
我不知道该怎么解决。

相关问题