Swift WKWebView Cookies
来源:互联网 发布:php .net哪个好学 编辑:程序博客网 时间:2024/06/04 01:14
GTMWebKit
GTMWebKit
swift 针对 WKWebKit 的封装
代码传送门
Introduction
- 使得在App内嵌网页变得非常简单
- 实现了类似微信里面的网页导航控制功能
- 注册JS使用的API方法变得简单
- 支持Swift4
- 支持与原生代码共享Cookies
关于Cookies共享
方法1: 将 isNeedShareCookies 属性至为true
此种方式在iOS 11.0以后的系统中使用WKWebView,在iOS 11.0之前的系统中使用UIWebView。在使用WKWebView会自动同步WKWebsiteDataStore和HTTPCookieStorage中的Cookies。PS:此种方式我目前没经过详细测试,如果你们发现此种方式有问题,请Issues告诉我,暂时先切到方法2
方法2: 将isForcedUIWebView 属性至为true
此种方式强制使用UIWebView,Cookies共享没问题
Demo
直接下载代码,里面详细的使用例子
Installation
Cocoapods
Install Cocoapods if need be.
$ gem install cocoapods
Add GTMWebKit
in your Podfile
.
use_frameworks!pod 'GTMWebKit'
Then, run the following command.
$ pod install
Manual
Copy GTMWebKit
folder to your project. That’s it.
Note: Make sure that all files in GTMWebKit
included in Compile Sources in Build Phases.
版本
Vesrion 0.0.2
This version requires Xcode 8.0 and Swift 3.
使用帮助
Firstly, import GTMWebKit
.
import GTMWebKit
Push方式内嵌网页
// Pushlet webVC = GTMWebViewController.init(with: "https://www.baidu.com", navigType: .navbar)self.navigationController?.pushViewController(webVC, animated: true)
Present方式内嵌网页
let webVC = GTMWebViewController.init(with: "https://www.baidu.com", navigType: .toolbar)let navigationC = UINavigationController.init(rootViewController: webVC)navigationC.navigationBar.tintColor = UIColor.grayself.present(navigationC, animated: true, completion: nil)
注册JS使用的API
// 详细代码见Demo中CustomWebViewController.swiftfunc registApiForJs() { // 简单测试方法 self.registApi(method: "test") { [weak self] (body) in print("\nCustomWebViewController -----> recived js message: \(body ?? "")\n\n") let message = "\(body ?? "")" self?.showMessage(message: message) } // 扫描功能API self.registApi(method: "scanBarcode") { [weak self] (body) in self?.startScanBarcode(viewTitle: "条码扫描") }}
配置项
public enum GTMWK_NavigationType { case navbar // web导航控制按钮放在导航栏 case toolbar // web导航控制按钮放在底部工具栏} var navigType: GTMWK_NavigationType! // 控制网页导航的方式(导航栏,工具栏) var isShowCloseItem = true // 是否显示关闭按钮(navigType == .navbar 时使用) var isShowToolbar = true // 是否显示工具栏(navigType == .toolbar 时使用)
参与开源
欢迎提交 issue 和 PR,大门永远向所有人敞开。
开源协议
本项目遵循 MIT 协议开源,具体请查看根目录下的 LICENSE 文件。
阅读全文
0 0
- Swift WKWebView Cookies
- 清除WKWebView cookies
- 清除WKWebView cookies
- 清除WKWebView cookies
- Swift3.0 设置WKWebView cookies
- Swift UIWebView 和 WKWebView
- swift 之WKWebView
- [Swift]WKWebView用法介绍
- swift js webview wkwebview
- Swift WKWebView的js调用swift
- Swift WKWebView的swift调用js
- Swift WKWebView的swift调用js ---- Swift WKWebView的js调用swift
- swift WKWebView 某些网址无法加载
- 学习笔记:WKWebView之WKNavigationDelegate (Swift)
- 学习笔记:WKWebView之WKUIDelegate(Swift)
- 学习笔记:WKWebView的简单使用(Swift)
- ios swift WKWebView (一)基本了解
- Swift4.0 WKWebView配置JS调Swift
- poj 1729 Jack and Jill BFS嵌套,同时进行两个
- Scala入门学习之【wordcount】
- 各种技术,官方链接
- 给Activity设置背景(半)透明
- C# 委托 delegate Action
- Swift WKWebView Cookies
- 亿级规模的Elasticsearch优化实战
- delphi解析json数据的方法
- msf学习笔记(2)
- HBuilder常用快捷键
- Spark实现Hadoop简单实例
- SpringBoot+Logback
- [[NLP]基于Simaese LSTM的句子相似度计算
- 通俗喜感的介绍——HTTP协议—— 简单认识TCP/IP协议-roverliang