Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案

Xcode11.beta版, 遇到React Native启动报错的问题

报错关键信息

Exception '*** -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]' was thrown while invoking getCurrentAppState on target AppState with params

[RCTModuleMethod.mm:376] Unknown argument type '__attribute__' in method -[RCTLinkingManager getInitialURL:reject:]. Extend RCTConvert to support this type.

Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第1张图片
Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第2张图片
这个BUG是Xcode.11引起的, 可以查看这个问题的提交记录

https://github.com/facebook/react-native/issues/25138

Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第3张图片
找到下面这个修复记录, 点击进去#25146
Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第4张图片
点击查看修改内容
Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第5张图片
修改的内容
Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第6张图片

static BOOL RCTParseUnused(const char **input)
{
  return RCTReadString(input, "__attribute__((unused))") ||
         RCTReadString(input, "__attribute__((__unused__))") ||
         RCTReadString(input, "__unused");
}

找到对应的文件, 替换掉原来的函数, 重新运行即可
Xcode11.beta版, 遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案_第7张图片

不得不说RN的生态比weex好多了…

你可能感兴趣的:(React,Native)