过期 API 定位
优质
小牛编辑
132浏览
2023-12-01
Tips: 过期API 定位
今年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
环节将无用文件剔除```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
}
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
```
这里只是提到一种处理问题的思路, 但并不是最优方案