测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可 | MIT |
发布最新发布 | 2015年2月 |
由DaiCaga维护。
依赖关系 | |
SVProgressHUD | ~> 1.0 |
HexColors | ~> 2.0 |
TransitionKit | ~> 2.1 |
BlocksKit | ~> 2.2 |
GAHybridKit 是一个简单可扩展的用于您的网页/原生混合移动应用的通讯系统。它扩展自 HybridKit。
使用 HybridKit for JavaScript,您可以向您的原生应用发送从网页到原生应用的命令进行处理。
GAHybridKit 使用 命令处理器 处理使用JavaScript 库发送的命令。GAHybridKit 提供了一些有用的默认设置,或者您可以编写全新的命令处理器。
GAHybridKit for iOS 需要 CocoaPods。将其添加到您的 Podfile
pod 'GAHybridKit'
运行 pod install
即可。
您可以通过使用 HYWebViewController
(而不是 UIViewController
)来利用 GAHybridKit。HYWebViewController
将自动注册默认命令处理器,准备接收命令。
设置 HYWebViewController
并加载一个 URL。
HYWebViewController *webViewController = [[HYWebViewController alloc] initWithParams:@{@"url" : @"http://google.com"}];
// or
HYWebViewController *webViewController = [[HYWebViewController alloc] init];
webViewController.url = [NSURL URLWithString:@"http://google.com"];
[self presentViewController:webViewController animated:YES completion:nil];
默认情况下,HybridKit 包括以下命令:alert
、open_url
、set_url
、set_url_refresh
、set_title
、set_scroll_enabled
、set_background_color
、deceleration_rate
、trigger_event
和 javascript
。
有关内置处理器的更多信息,请查看HybridKit-JS 维基。
您可以使用 JavaScript 库轻松创建用于自定义命令的新命令处理器。
简单地创建一个 HYWebViewCommand
子类,并重写 handleCommandString:dictionary
和 respondsToCommandString
方法。
@interface HideNavigationBarHandler : HYWebViewCommand
@end
@implementation HideNavigationBarHandler
-(void)handleCommandString:(NSString *)commandString dictionary:(NSDictionary *)commandDictionary {
if ([commandString isEqualToString:@"hide_navbar"]) {
self.webViewController.navigationController.navigationBarHidden = [commandDictionary[@"hidden"] boolValue];
}
}
- (BOOL)respondsToCommandString:(NSString *)commandString {
return [commandString isEqualToString:@"hide_navbar"];
}
@end
将新命令处理器注册到 HYWebViewController
实例。
[hybridKitViewController registerCommandHandler:[HideNavigationBarHandler new]];
使用 JavaScript 库调用您的新命令。
HybridKit.runCommand("hide_navbar", {hidden: true});
GAHybridKit for iOS 在 MIT 许可下提供。有关更多信息,请参阅LICENSE 文件。