wendux / DSBridge-IOS

:earth_asia: A modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native.
1.97k stars 309 forks source link

和 WVWebviewJavascript 比优点是什么 #93

Open karosLi opened 5 years ago

ShenYj commented 4 years ago

我也想知道, 今年开始使用UIWebView提交会因此悲剧, 而WVWebiewJSBridge已经多年停止维护了, 想找一个替代库来修复这个问题, 而前端和Android不需改动

karosLi commented 4 years ago

我也想知道, 今年开始使用UIWebView提交会因此悲剧, 而WVWebiewJSBridge已经多年停止维护了, 想找一个替代库来修复这个问题, 而前端和Android不需改动 看下这个,能不能帮到你 https://github.com/karosLi/KKJSBridge

ShenYj commented 4 years ago

我也想知道, 今年开始使用UIWebView提交会因此悲剧, 而WVWebiewJSBridge已经多年停止维护了, 想找一个替代库来修复这个问题, 而前端和Android不需改动 看下这个,能不能帮到你 https://github.com/karosLi/KKJSBridge

写写, 目前我的方案是通过podfile, 使用ruby命令将包含的文件剔除

# 移除[U-I]WebView iOS 12 标记为过期, 2020.04起影响上线
# 删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
pre_install do |installer|

  dir_bridge = installer.sandbox.pod_dir('WebViewJavascriptBridge')
  puts "#### dir_bridge ####  #{dir_bridge}"
  Dir.foreach(dir_bridge) {|x|
    real_path = File.join(dir_bridge, x)
    if (!File.directory?(real_path) && File.exists?(real_path))
      if(x == 'README.md')
        File.delete(real_path)
      end
    end
  }
  dir_web = File.join(dir_bridge, 'WebViewJavascriptBridge')
  puts "#### dir_web ####  #{dir_web}"
  Dir.foreach(dir_web) {|x|
    real_path = File.join(dir_web, x)
    if (!File.directory?(real_path) && File.exists?(real_path))
      if(x == 'WebViewJavascriptBridge.h' || x == 'WebViewJavascriptBridge.m')
        File.delete(real_path)
      end
    end
  }

  dir_mj = installer.sandbox.pod_dir('MJRefresh')
  puts "#### dir_mj ####  #{dir_mj}"
  Dir.foreach(dir_mj) {|x|
    real_path = File.join(dir_mj, x)
    if (!File.directory?(real_path) && File.exists?(real_path))
      if(x == 'README.md')
        File.delete(real_path)
      end
    end
  }

end
karosLi commented 4 years ago

那你其实可以自己fork,然后改下,或者把源码拿到你本地做个私有pod