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 报错的主要内容,如果未能解决你的问题,请参考以下文章