关于iOS UIWebView处理HTML<input>文件的多单选择解决方案

关于iOS UIWebView处理HTML<input>文件的多单选择解决方案,第1张

第一次写帖子,希望能帮助到大家,最近在项目中使用h5和iOS UIWebView交互时遇到一些问题,跟大家分享一下,写的不对的地方,求大佬们册扮指点

iOS 使用UIWebView加载h5页面,h5页面有一个input标签如:<input id="fileId" type="file" accept="image/png,image/jpeg" multiple>用于上链姿雀传文件,点击会调用iOS的相册或相机、浏览等,如图1,简单说一下multiple属性限制单选和多重选择

input标签中无论怎么写multiple属性,UIWebView加载的文件上传都是多重选择。经发现UIWebView会自动为棚早HTML <input type="file">标签添加多个属性。这种行为与iOS版本不同,差不多算是UIWebView的bug.

解决就非常简单了,使用WKWebView替换UIWebView,WKWebView优于UIWebView,正确处理<input type="file">。

一.准备HTML文件及其资源文件

使用UIWebView加载本地的HTML4文件 index.html,在index.html中引用了升物顷本地的图片吵陆、CSS文件、JS文件以及外部的图片。

二.加载本地HTML文件

将html5文件及相关资源添加到项目中,调用需要上传的文件蚂粗夹。

三.选择调用的文件夹上传。

苹果开始全面禁用UIWebView了,导衡誉模致APP提交到App Store Connect上之后咐缓,处理了一段时间直接提示“构建状态已更改为二进制文件无效”,查看苹果发的邮件后,提示是

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted

项目中如果使用了UIWebView,将其用WKWebview代替。

全局搜索UIWebView,我项目里找到Blockskit跟AFNetworking里面包含了UIWebView。

1.Blockskit

pod 'BlocksKit', git: ' https://github.com/LDXu/BlocksKit.git ', branch: 'v2.5'

2.AFNetworking

pod 'AFNetworking', '~>3.0', :subspecs =>['Reachability', 'Serialization', 'Security', 'NSURLSession’]

或者

pod 'AFNetworking', '~>4.0.1’

不过我项目中使用的是YTKNetwork,自动导入的AFNetworking,所以要升级YTKNetwork版本,移除UIWebView是2.1.3及之后的版本

pod 'YTKNetwork', '~>2.1.3’

使用新版本的AF

#import <AFNetworking>

改为

#import <AFNetworking/AFHTTPSessionManager.h>

以及还有3.IQKeyboardManager 6.5.0

pod 'IQKeyboardManager', '~>6.5.0’

4.友盟分享 6.9.8

5.WebViewJavascriptBridge

pod 'WebViewJavascriptBridge', :git =>' https://github.com/stury/WebViewJavascriptBridge.git ', :branch =>‘master’

全局搜索后已经找不到UIWebView,重新虚团上传后依然不行

从终端cd到项目中

grep -r UIWebView .

发现了face++和网易易盾以及project.xcworkspace依然包含了UIWebView

Binary file ./project.xcworkspace/xcuserdata/total.xcuserdatad/UserInterfaceState.xcuserstate matches

更新相关库。删除project.xcworkspace重新pod install

参考

remove uiwebview


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8148219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存