在iOS 9中拦截WKWebView请求和响应

时间:2019-07-25 15:13:16

标签: encryption ios9 wkwebview

我有以下要求:

  • 该应用程序具有已加密的本地HTML内容
  • 必须使用WKWebView显示本地内容
  • 拦截从WKWebView完成的请求,并为每个请求提供自定义响应(即时解密内容)
  • 支持iOS 9.3

使用WKURLSchemeHandler可以满足要求,但这仅在iOS 11中引入。

到目前为止,我唯一可以达到的解决方案是:

  • 将Web服务器嵌入应用程序中,例如在http://localhost:8080上监听
  • 服务器将读取本地内容,对其进行解密,然后将其发送回WKWebView
  • 更改网络内容,以便将所有请求都定向到http://localhost.8080

拥有嵌入式Web服务器似乎过大了,并且会带来很多麻烦。但这似乎是在面临类似要求时采用的方法。例如,Cordova和Ionic Capacitor项目。

Ionic Capacitor仅在其停止对iOS 10的支持时才删除嵌入式Web服务器: https://github.com/ionic-team/capacitor/releases/tag/1.0.0-beta.11

我对使用私有API的解决方案不感兴趣。

0 个答案:

没有答案