React Native iOs 警告 requires main queue setup warning

React Native 2020-03-31 阅读 649 评论 0

问题描述

React Native 集成个推推送,编译运行之后,iPhone 模拟器/真机出现以下黄色框警告。

2020-03-29 16:22:57.149 [warn][tid:main][RCTModuleData.mm:68] Module RCTGetuiModule requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.

解决方法

由于 RCTGetuiModule.m 重写了 init 方法( 重写constantsToExport方法也会有这个警告 ),需要 requiresMainQueueSetup 方法。在 RCTGetuiModule.m 中添加以下方法即可,自定义 Native 模块如果出现这个警告也同样需要添加这个方法。

+ (BOOL)requiresMainQueueSetup{
  return YES;
}
最后更新 2020-03-31
MIP.watch('startSearch', function (newVal, oldVal) { if(newVal) { var keyword = MIP.getData('keyword'); console.log(keyword); // 替换当前历史记录,新增 MIP.viewer.open('/s/' + keyword, {replace: true}); setTimeout(function () { MIP.setData({startSearch: false}) }, 1000); } }); MIP.watch('goHome', function (newVal, oldVal) { MIP.viewer.open('/', {replace: false}); });