Ycc365下载-亚洲365bet投注-帕尼尼球星卡FIFA365

iOS小技能:UIWebView 被拒的解决方案(用更安全的WKWebView替代UIWebView)

引言背景:202012之后苹果将不接受使用UIWebView UIWebView 被拒的解决方案:使用WKWebView替代UIWebView 1、查 SDK是否用 UIWebView 的 API 2、移除/升级含UIWeb

iOS小技能:UIWebView 被拒的解决方案(用更安全的WKWebView替代UIWebView)

引言背景:202012之后苹果将不接受使用UIWebView

UIWebView 被拒的解决方案:使用WKWebView替代UIWebView

1、查 SDK是否用 UIWebView 的 API

2、移除/升级含UIWebView的第三方SDK(例:AFNetworking)

3、使用WKWebView替代UIWebView

4、WKWebView与JS交互案例(点击页面图片,调用iOS方法进行图片放大显示) WKScriptMessageHandler协议必须实现的函数,是APP与js交互,提供从网页中收消息的回调方法- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message;// message: 收到的脚本信息

WKWebView比UIWebView更安全

基于NSURLProtocol实现iOS应用底层所有网络请求拦截(含网页ajax请求拦截【不支持WKWebView】NSURLProtocol 只能拦截 UIURLConnection、NSURLSession 和 UIWebView 中的请求; 对于 WKWebView 中发出的网络请求也无能为力,如果真的要拦截来自 WKWebView 中的请求,还是需要实现 WKWebView 对应的 WKNavigationDelegate,并在代理方法中获取请求。

I 使用WKWebView替换UIWebView1.1 移除/升级包含UIWebView的第三方SDK(grep -r "UIWebView" .)代码语言:javascript代码运行次数:0运行复制➜ retail git:(develop) grep -r "UIWebView" .

Binary file ./retail.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate matches

./Pods/Pods.xcodeproj/project.pbxproj: 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 55098EA6EA9BE396074DA1E1980C154A /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; };

./Pods/Pods.xcodeproj/project.pbxproj: 6326910744CB757A56F0D16A8892445E /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F1F2113749BAA47EBE9F2FE1F43FDA51 /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };

NJKWebViewProgress代码语言:javascript代码运行次数:0运行复制 ./Pods/NJKWebViewProgress/NJKWebViewProgress/NJKWebViewProgress.m:- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

AXWebViewController (0.7.2) 使用了NJKWebViewProgress iOS8.0以下使用了NJKWebViewProgress作为进度条, 因此对于上架审核没有影响。

ZBarSDK代码语言:javascript代码运行次数:0运行复制./Pods/Headers/Private/ZBarSDK/ZBarHelpController.h: < UIWebViewDelegate,

./Pods/Headers/Private/ZBarSDK/ZBarHelpController.h: UIWebView *webView;

./Pods/ZBarSDK/iphone/ZBarHelpController.m: webView = [[UIWebView alloc]

./Pods/ZBarSDK/iphone/ZBarHelpController.m:- (void) webViewDidFinishLoad: (UIWebView*) view

./Pods/ZBarSDK/iphone/ZBarHelpController.m:- (BOOL) webView: (UIWebView*) view

./Pods/ZBarSDK/iphone/ZBarHelpController.m: navigationType: (UIWebViewNavigationType) nav

代码语言:javascript代码运行次数:0运行复制pod 'LBXScan/LBXNative','~> 2.4.1' #系统原生API封装库

pod 'LBXScan/LBXZXing','~> 2.4.1'

#pod 'LBXScan/UI','~> 2.3'

pod 'LBXScan/UI','~> 2.4.1'

pod 'LBXZBarSDK','~> 1.3' 删除UIWebView

1.2 移除/替换自己项目使用UIWebView API的代码自己是否用了该 API 只需要在 Xcode 中全局搜索即可

II 升级包含UIWebView的第三方SDK的具体例子代码语言:javascript代码运行次数:0运行复制 pod 'AFNetworking','~> 4.0.1'#2、 Migrate UIWebview to WKWebView #4441

#4.x iOS 9 macOS 10.10 watchOS 2.0 tvOS 9.0 Xcode 11+ is required.

2.1 Installing AFNetworking 4.0.1 (was 3.2.1)正式移除了UIWebView分类新版本主要移除的类如下处理afn的接口问题,老版本的post get formdata的请求形式在4.0都有了调整,因此需要更改工程中的相应的方法

例如修改为:

代码语言:javascript代码运行次数:0运行复制 [manager GET:urlStr parameters:params headers:@{} progress:^(NSProgress * _Nonnull downloadProgress) {

see alsoiOS小技能:打包注意事项(私有API检测)https://blog.csdn.net/z929118967/article/details/128236066

← 上一篇: 世界杯转播直播间女主持人贺思浓声音叫声是真的吗 抖音回应视频出现喘息声是假的
下一篇: A4纸像素分辨率换算方法,A4纸尺寸大小是多少厘米 →

相关推荐

伦敦Major参赛名单确定 NiP时隔两年重回Major赛场
10款“韩式辣酱”食谱!轻松搞定韩国道地美食
雕刻机数控系统(雕刻机数控系统包括)
综合比较:成都双流医院哪个好
汽车之家
什么是阿里云网络以及SAE网络的选型
[综合]打凤凰救人求详细攻略
[讨论]众多电脑拼音输入法你用哪个?
斑马万年青怎么养
戴尔电脑授权专卖维修店(大利嘉A3-103B店)
上门安装空调收费标准是什么0
【讨论】psp2000充电时间以及使用时间