ITMS-90809:Deprecated|ITMS-90809:Deprecated API Usage
最近上架苹果应用时,收到这么一封邮件:
文章图片
苹果邮件截图.png 官方文档是这么解释的:
In apps that run in iOS 8 and later, use the WKWebView
class instead of using UIWebView
. Additionally, consider setting the WKPreferences property javaScriptEnabled to false if you render files that are not supposed to run JavaScript.
简单来说就是苹果爸爸打算于2020年12月废弃使用UIWebView,如果你的App适配的iOS版本大于8.0,就请全部替换为WKWebView
代码全局搜索了一下和UIWebView相关的代码,该适配的适该删除的删除。
但是,重点来了:后面再次提交构建版本的时候,又一次收到了这封邮件,还是关于UIWebView。
what?我不是都删了吗?
忽略了一个关键点就是第三方SDK,但是因为大多数第三方SDK都是使用的.a或.framework封装看不到具体代码实现,所以无法证实到底哪些SDK使用了UIWebView,不过也不是没有办法,cd到工程目录并使用下面这个命令:
find . -type f | grep -e ".a" -e ".framework" | xargs grep -s UIWebView
结果:
[./App/module/3rdPart/WXAPI/README.txt:1. 修改包含"UIWebView"字符的类名
Binary file ./App/module/3rdPart/GT3Captcha/GT3Captcha.framework/GT3Captcha matches
发现在GT3Captcha.framework这个文件中有引用,这个文件对应的是极验的SDK,打开对应开发网站找到iOS更新日志:
文章图片
极验SDK更新日志.png 其实人家早就针对iOS13做了更新,下载最新版本SDK替换原来的就可以了
相关的还有例如libWeChatSDK.a和TencentOpenAPI.framework,做过QQ第三方登录的童鞋肯定有印象:
/**
* 登录授权
* \param permissions 授权信息列表
* \param bInSafari 是否使用safari进行登录.IOS SDK 1.3版本开始此参数废除
*/
- (BOOL)authorize:(NSArray *)permissions
inSafari:(BOOL)bInSafari;
解决办法同理,上对应QQ互联开发平台下载最新的SDK替换一下即可
【ITMS-90809:Deprecated|ITMS-90809:Deprecated API Usage】如果本文对你有所帮助记得点个赞哈
推荐阅读
- 2020-04-07vue中Axios的封装和API接口的管理
- 【译】Rails|【译】Rails 5.0正式发布(Action Cable,API模式等)
- ElasticSearch6.6.0强大的JAVA|ElasticSearch6.6.0强大的JAVA API详解
- 前端开发|Vue2.x API 学习
- 简易有效Api接口防攻击策略
- 如何在Kubernetes|如何在Kubernetes 里添加自定义的 API 对象(一)
- fastapi教程翻译(一)(了解FastAPI结构)
- BLAS|BLAS API 中文文档(2)(待续)
- 1.前端引入jeDate日期控件
- 基础3-API-值传递