To run the example project, clone the repo, and run pod install
from the Example directory first.
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.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];
@weakify(self);
self.getWebVTitle = ^(NSString *title) {
@strongify(self);
[self p_setTopTitleDetail:@{Nav_Title:title}.mutableCopy];
};
@weakify(self);
self.getWebVUrl = ^(NSString *url) {
@strongify(self);
do sth...
};
[self refresh];
[self goBack];
//设置cookies
NSString *doMainstring = @".baidu.com";
self.cookies = @{@"Token":@"xxxxxxx",@"Lang":@"en_us",@"Domain":doMainstring,@"source":@"ios"};
[self.uiWebView addCookieswithDict:self.cookies.mutableCopy];
//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];
}];
//注意此属性需要在[super viewDidLoad]之前设置
self.isforceUseoldWebView = YES;
[super viewDidLoad];
iOS开发交流群:674228487
欢迎关注我的博客:Coder大鹏
iOS7+
GPHybrid is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'GPHybrid'
ziyue92, [email protected]
GPHybrid is available under the MIT license. See the LICENSE file for more info.