iOS UIWebView上架被拒完全解法办法

编程入门 行业动态 更新时间:2024-10-09 11:26:39

iOS UIWebView上架被拒完全<a href=https://www.elefans.com/category/jswz/34/1764302.html style=解法办法"/>

iOS UIWebView上架被拒完全解法办法

前言

hihi,勇敢的小伙伴儿们大家好,今天才知道Apple在2020年4月份停止接受使用UIWebView api的APP,所以小伙伴儿在上传APP的过程中也许会收到类似内容的邮件,如图:

一下子看到重点提示是UIWebView被弃用了,我们使用了被弃用的API,那么问题来了,怎么彻底清除项目中的UIWebView的代码呢?这就是接下来我要分享给大家的内容。

正文

首先,正常操作就是全局搜索UIWebView,将使用到UIWebView的地方全部替换成WKWebView及其使用方法。其中需要注意的是AFNetworking中有一个UIWebView的方法,如图:

这是因为我用的旧版本的AFNetworking3.2.1,那我们该怎么办呢,升级一下版本就好啦,看看有没有新版本为该项内容做了调整,结果是有的,我升级到了4.0.1,再进行全局搜索就显示没有UIWebView了,非常棒,运行看看,报错了,

遇到问题不要慌,我们想想办法,参考Xcode 10 中关于 Error: Multiple commands produce修改workspace setting中的build system:

这样就能成功的解决这个问题,但是还有问题,就是不同版本的AFHTTPSessionManager的实例方法是不一样的,所以还需要对应改一下方法。比如原来的:

- (nullable NSURLSessionDataTask *)GET:(NSString *)URLStringparameters:(nullable id)parametersprogress:(nullable void (^)(NSProgress *downloadProgress))downloadProgresssuccess:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))successfailure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

被修改后变成:

- (nullable NSURLSessionDataTask *)GET:(NSString *)URLStringparameters:(nullable id)parametersheaders:(nullable NSDictionary <NSString *, NSString *> *)headersprogress:(nullable void (^)(NSProgress *downloadProgress))downloadProgresssuccess:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))successfailure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

 

相比之下多了一个header的参数。POST方法同理。

接下来问题基本解决了。所以我就提交了ipa,在我信心满满的等待过程中,没错,意料之外,情理之中的又来了一封邮件。结果依然是同样的理由被拒,我好难过,我find了全局都没找到一个UIWebView,为什么还要这样对我?

原来,仅仅通过第一步是检测不到.a文件和一些没有添加到项目目录中的文件中是否使用UIWebView的,所以接下来我们来到了决定成败的关键之步:第二步!终端检索项目中的UIWebView。

grep -r UIWebView .

仅仅通过这样一行代码就可以遍历出所有隐藏在我们看不见的地方的UIWebView。如图:

从这张图中我们可以清晰的看出WeChatSDK和MOBFoundation以及AlipaySDK-iOS都含有UIWebView,其实我这是因为单独升级了AFNetworking的版本的后遗症,如果一下子全部pod update了之后就不会出现此问题。再执行命令后如图:

UIWebView已经彻底从我们的项目中清除了!

喜大普奔,接下来再打包上传一下看看,果不其然,苹果爸爸通过了审核。

构建版本成功地上传了,接下里就可以愉快的提交审核了。

但!是!我还需要进行TestFlight的测试,所以我又发现了一个小问题。如图:

这是对于有加密的App需要的东西,向我们这种单纯的小白,苹果爸爸也给了我们一个解决办法。如图:

只要在项目的info.plist中自证清白就可以了,如图:

把UIViewControllerBasedStatusBarAppearance设置成NO就可以了

重新上传版本就会好了

emmmm,最后分享一下Transporter App上传App的二进制文件,我一种都是笨笨的用XCode的upload方法上传,相比之下,速度贼快!

 

最后,如果有问题还请大家指出,共同学习,共同进步!

冲冲冲!

 

更多推荐

iOS UIWebView上架被拒完全解法办法

本文发布于:2024-02-07 04:57:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753417.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解法   上架   被拒   办法   iOS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!