过期API定位 - ShenYj/ShenYj.github.io GitHub Wiki
今年4月份, 苹果彻底扼杀了UIWebView
, 新提交的包不再允许使用UIWebView
, 旧项目推迟到2020年12月份
-
通过
grep
快速定位包含UIWebView
的文件grep -r UIWebView . >> .../UIWebView.txt
- Linux
grep
命令用于查找文件里符合条件的字符串 - 筛选当前路径及子路径内包含
UIWebView
字样的文件, 并输出到指定路径下的UIWebView.txt
文件中 - 参数
-r
以递归的方式查找符合条件的文件
通过这条命令可以帮我们整理列出全部包含
UIWebView
关键字的文件及路径, 包含一些静态库文件 - Linux
-
通过
ruby
来剔除CocoaPods
依赖库中废弃的文件如果类库已经更新并移除了过期API, 优先建议更新依赖版本 如果想偷懒, 并且文件非必要, 可以通过ruby在执行
pod install
环节将无用文件剔除# 移除[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 } dir_sinaWB = installer.sandbox.pod_dir('Weibo_SDK') puts "#### dir_sinaWB #### #{dir_sinaWB}" Dir.foreach(dir_sinaWB) {|x| real_path = File.join(dir_sinaWB, x) if (!File.directory?(real_path) && File.exists?(real_path)) if(x == 'README.md') File.delete(real_path) end end } end
这里只是提到一种处理问题的思路, 但并不是最优方案