如何启动reactnative

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何启动reactnative相关的知识,希望对你有一定的参考价值。

参考技术A 首先使用react native编写一个简单的应用,在碰到问题的时候,肯定需要对代码进行调试。目前react native支持在Chrome浏览器内进行调试。需要选择Scheme->Run的选项为Debug,否则模拟器中不会出现调试选项。
将应用设置为在模拟器中运行,运行后,按键Command+D,弹出调试菜单选项,选择Debug in Chrome。目前的版本只支持Chrome进行调试,后续可能会支持Safari进行调试。调试过程就跟平常写前端调试js代码一样,可以加断点,打日志进行调试。
有些情况下,Chrome浏览器不起作用,可能是因为其他应用插件的原因,这个时候需要将其他插件禁用,以进行react native代码的调试。
如果要需要在真机上运行,需要将jsCodeLocation中地址改为本机的ip地址,比如192.168.1.x之类的,这样就可以在真机上运行,但是还是不能发布到appstore上面去。发布的时候,需要将该代码注释
jsCodeLocation = [NSURL URLWithString:@"http:// localhost:8081/index.ios.bundle"];
,反注释这一行代码:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
这样,该应用就可以一直在真机上运行,而不依靠开发环境的支持了。
发布的时候,还要记得选择release版本,这样调试菜单才不会出现。

如何使用 React Native 为 IOS 正确安装 Facebook 广告

【中文标题】如何使用 React Native 为 IOS 正确安装 Facebook 广告【英文标题】:How to properly install Facebook Ads for IOS using React Native 【发布时间】:2019-01-09 19:41:32 【问题描述】:

尝试通过 IOS 启动我的应用时,我在 React Native 中收到警告:

"Module AdChoiceManager 需要设置主队列 因为它覆盖了“init”但没有实现 '需要MainQueueSetup'。在未来的版本中 React Native 将默认在后台线程上初始化所有原生模块,除非明确选择退出。”

在我的 podfile 中,我有这些

pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'
pod 'FBAudienceNetwork', '~> 5.1.0'

我得到错误:

[!] /bin/bash -c 
set -e
npm install --production

/bin/bash: line 2: npm: command not found

所以我尝试了这个:

  pod 'FBAudienceNetwork', '~> 5.1.0' 
  pod 'FacebookSDK'
  pod 'FBSDKShareKit'
  pod 'FBSDKLoginKit'

一切都安装了,但我仍然收到警告。它在 Android 上运行良好,我只是不确定如何让 Facebook 广告正常运行,而不会在 IOS 上发出警告。

我的问题是,我该如何解决这个问题/警告?几天来,我一直在尝试将其从屏幕上删除,但无济于事。

【问题讨论】:

【参考方案1】:

这是依赖关系的问题。这不是一个大问题,但将来需要依赖维护者修复。

这与运行依赖项的队列/线程有关。它只影响 iOS。

目前您无法删除警告。

您可以隐藏黄色警告框,但它仍会在您的控制台中记录警告。

import  YellowBox  from 'react-native';

YellowBox.ignoreWarnings(['Module AdChoiceManager requires main queue setup since']); 

https://facebook.github.io/react-native/docs/debugging#in-app-errors-and-warnings

我不能 100% 确定这是用于阻止它的正确文本,但它会与此类似。通常我只是从警告开始的文本

解决问题

解决问题的唯一方法是在依赖项中修复它。您将不得不分叉导致问题的存储库,进行更改,创建拉取请求并等待 Facebook 合并您的更改。在等待期间,您可以使用自己的 fork。

在正确的文件中,它将以... Manager.m 结尾您只需添加该行

+ (BOOL) requiresMainQueueSetup  return YES; 

根据他们如何设置依赖关系,可能不止一处需要这样做。这将停止警告,因为您将告诉依赖项它需要哪个队列。

警告,您现在必须维护自己的依赖版本,直到 Facebook 实施您的拉取请求。

【讨论】:

谢谢!虽然我宁愿解决这个问题也不愿减轻它,但这是一个很好的建议。 解决问题的唯一方法是在依赖项中修复它。因此,fork 导致问题的 repo,进行更改,创建拉取请求并等待 Facebook 合并您的更改。在等待期间,您可以使用自己的叉子。您只需在正确的位置添加+(BOOL)requiresMainQueueSetup return YES;

以上是关于如何启动reactnative的主要内容,如果未能解决你的问题,请参考以下文章

苹果mac如何启动项?

如何使用 SwiftUI 在首次应用启动时启动教程?

如何提高UBOOT的启动速度

如何启动oracle

如何让应用开机自动启动

如何在启动时启动/启动应用程序 Android