iOS支持WKWebView的Hybrid开源框架GPHybrid
来源:互联网 发布:mac壁纸软件推荐 编辑:程序博客网 时间:2024/06/05 19:45
GPHybrid
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Introduction
前言
Hybrid框架主要以JS+Native两者相互调用为主,从开发层面实现"一次开发,多处运行"的机制,成为真正适合跨平台的开发。 目前已经有众多Hybrid App开发成功应用,比如百度、网易等知名移动应用,都是采用Hybrid App开发模式。 因此GPHybird实现了JS+Native无缝调用、常见网页处理功能、常见客户端处理功能。实现UIWebview和WKWebView根据操作系统自动适应。 在iOS8+的设备上,使用WKWebView并封装了常见的功能接口,使用起来简单稳定。
架构思维导图
使用介绍思维导图
如何运行项目
下载源码,解压。 打开终端,cd到主目录下的Example。 例如:cd /Users/gangpengshu/Downloads/GPHybrid-master/Example 执行:pod install commadn+R运行项目可以看到如下界面:
success!
常见功能详解
1.使用vc加载h5网页,只需继承GPWebViewController,调用如下方法,一句代码就完成了网页加载。
//1.1 简单url(NSString)[self loadWebViewWithUrlStr:@"https://www.baidu.com"];//1.2 简单request(NSMutableURLRequest)NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];[self loadWebViewWithUrlRequest:request];//1.3 简单request(NSMutableURLRequest带header,或body)NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];[request addValue:@"en_us" forHTTPHeaderField:@"lang"];[self loadWebViewWithUrlRequest:request];
2.异步获取标题
@weakify(self);self.getWebVTitle = ^(NSString *title) { @strongify(self); [self p_setTopTitleDetail:@{Nav_Title:title}.mutableCopy];};
3.异步实时获取当前请求的url
@weakify(self);self.getWebVUrl = ^(NSString *url) { @strongify(self); do sth...};
4.刷新
[self refresh];
5.返回上一级(自动判断是退出vc,还是回退网页)
[self goBack];
6.设置cookie
//设置cookiesNSString *doMainstring = @".baidu.com";self.cookies = @{@"Token":@"xxxxxxx",@"Lang":@"en_us",@"Domain":doMainstring,@"source":@"ios"};[self.uiWebView addCookieswithDict:self.cookies.mutableCopy];
7.JS与OC交互
//7.1 JS调用OC,OC注册JS事件,OC响应数据。[self.bridge registerHandler:@"findAllmgs" handler:^(id data, WVJBResponseCallback responseCallback) { if ([data isKindOfClass:[NSArray class]]) { @strongify(self); self.imgArr = (NSArray *)data; }}];//7.2 OC调用JS,OC执行JS事件,JS响应数据。[self.wkWebView.wkWebView evaluateJavaScript:javascript completionHandler:^(id _Nullable result, NSError * _Nullable error) { CGFloat webHeight = [result floatValue]; self.commentTableView.emheaderHeight = webHeight; [self updatewebViewHeight:webHeight];}];
8.只使用UIWebview
//注意此属性需要在[super viewDidLoad]之前设置self.isforceUseoldWebView = YES;[super viewDidLoad];
Mark
iOS开发交流群:674228487
欢迎关注我的博客:Coder大鹏
Requirements
iOS7+
Installation
GPHybrid is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'GPHybrid'
Author
ziyue92, ziyue92@qq.com
License
GPHybrid is available under the MIT license. See the LICENSE file for more info.
阅读全文
0 0
- iOS支持WKWebView的Hybrid开源框架GPHybrid
- iOS Hybrid框架GPHybrid (WKWebView和UIWebView,涵盖所有常见功能)
- 支持hybrid模式开发的开源js框架
- 基于 WKWebView 的混合开发框架(网站生成ios应用)
- iOS WKWebView的使用
- iOS-WKWebView的封装
- iOS开发 WKWebView的使用
- iOS中WKWebView的应用
- iOS Hybrid 框架 ——PhoneGap
- 【开源公告】VasSonic轻量级的高性能的Hybrid框架正式开源
- VasSonic轻量级的高性能的Hybrid框架正式开源
- IOS WKWebView初级使用 以及WKWebView进度条的添加
- 优化Hybrid app的原生支持
- IOS WKWebView
- 【iOS】WKWebView
- iOS - WKWebView
- IOS-WKWebView
- iOS 让自己的框架支持cocoapods
- 位运算--python
- easyui 老版本(1.31版本及以下的版本怎么添加多重验证)
- 处理对象的多种状态及其相互转换——状态模式(一)
- Eclipse使用TODO标签管理任务及自定义TODO标签
- Restful Api接口规范
- iOS支持WKWebView的Hybrid开源框架GPHybrid
- FASTX-Toolkit安装在指定目录下
- 【Scikit-Learn 中文文档】随机投影
- 安装MySQL , 进度卡在Starting server
- 1.对象导论---java编程思想(学习笔记)
- 蓝桥杯 算法训练 大小写转换
- async/await使用心得
- 20171203:数组拷贝、三种重要排序(冒泡、插入、快排)、二维数组的学习
- Python 从入门到实践 5-8 课后习题