RN運行ios報錯No matching function for call to 'RCTBridgeModuleNameForClass'


xcode更新12.5后,ios運行報錯No matching function for call to 'RCTBridgeModuleNameForClass'

解決方法:

在ios/Podfile文件中加入如下代碼:

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(strongModule))", 
    "RCTBridgeModuleNameForClass(Class(strongModule)))"
    )
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
      end
    end
  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

 

End--------------------------

 

每腐爛一顆橘子 這個世界上就會多一個月球

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM