RN-升级XCODE13.3.1 编译 _initializeModules:(NSArray<id<RCTBridgeModule>> *)modules 报错

Posted iOSTianNan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RN-升级XCODE13.3.1 编译 _initializeModules:(NSArray<id<RCTBridgeModule>> *)modules 报错相关的知识,希望对你有一定的参考价值。

2022_05_05:
由于必须上传App Store必须要求xcode升级, 结果升级后编译报错

Cannot initialize a parameter of type 'NSArray<id<RCTBridgeModule>> *' with an rvalue of type 'NSArray<Class> *'

这种大概两三个同类型的错误

解决方案在此:
目前采用第一种方案 复制粘贴到Podfile ,
执行 pod install 即可

post_install do |installer|
## Fix for XCode 12.5
  find_and_replace(
  "../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
  "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules",
  "_initializeModules:(NSArray<Class> *)modules")
  
  find_and_replace(
  "../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
  "RCTBridgeModuleNameForClass(module))",
  "RCTBridgeModuleNameForClass(Class(module)))"
  )
end

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w")  |file| file.puts replace 
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

原贴: http://events.jianshu.io/p/03286cd90a84

以上是关于RN-升级XCODE13.3.1 编译 _initializeModules:(NSArray<id<RCTBridgeModule>> *)modules 报错的主要内容,如果未能解决你的问题,请参考以下文章

xcode 13.3.1 模拟器编译 Undefined Symbol: _RCTRegisterModule等问题

xcode 13.3.1 模拟器编译 Undefined Symbol: _RCTRegisterModule等问题

RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x8

iOS - Xcode升级到5.1& iOS升级到iOS7.1问题:Undefined symbols for architecture x86_64

Xcode 未使用正确的 ios SDK 版本编译

statusBar状态栏_02