xcode更新至14.3.1后遇到的ios构建问题

由于上传到ios应用市场报错,如下图片

 上面的报错就是你的ios sdk版本太低了,要大于16.1,就要更新xcode的版本,我更新到最新的14.3.1,然后进行构建,不出意外又有报错

No matching function for call to 'RCTBridgeModuleNameForClass'

找到ios/Podfile,修改文件内容

1.RCTBridgeModuleNameForClass(module)) 

改成  RCTBridgeModuleNameForClass(strongModule))

2. RCTBridgeModuleNameForClass(Class(module))) 

改成 RCTBridgeModuleNameForClass(Class(strongModule)))

post_install do |installer|
     # Fix after updating to Xcode 13.1
     find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray> *)modules", "_initializeModules:(NSArray *)modules")
    find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(strongModule))", "RCTBridgeModuleNameForClass(Class(strongModule)))")
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

改完,在ios目录下重新 pod install 下就可以运行了 

xcode更新至14.3.1后遇到的ios构建问题_第1张图片

 

你可能感兴趣的:(ios,xcode,react,native)