[ ]
https://ZhouSa.com Framework文件
- FireflyJSBridge.framework
配置链接
- 需要添加
FireflyJSBridge.framework
的链接,以及对应的依赖链接;详细参见接入iOS
头文件引用
简单导入
#import <FireflyJSBridge/FireflyJSBridge.h>
容器类型
我们提供两种容器
- FireflyJSUIWebViewController ,内部是UIWebView, 支持离线包接入
- FireflyJSWKWebViewController ,内部使用WKWebView
使用示例
#import <FireflyJSBridge/FireflyJSBridge.h> FireflyJSUIWebViewController *vc = [[FireflyJSUIWebViewController alloc] init] //不加载命名空间为ff的jsbridge实现 YES不加载 / NO加载 vc.notLoadffAbiFactory = YES;
扩展Web和Native交换接口
当集成了jssdk的web页面,在调用方法时,需要增加命名空间的前缀,FireflyJSBridge会根据命名空间,将需要响应的方法派发到响应对象,完成前端到native的调用,响应对象完成后将结果信息以同步或者异步的方式回调给web页面,完成一次web端和native段的通信。
例如:前端js 调用:firefly.getSystemInfo()
时,sdk会调用到注册miniapp命名空间的实例对象中的方法中
nativeObj的实例方法
//nativeObj的实例方法 - (void)getSystemInfo:(FireflyJSCallNativeArg *)arg completionHandler:(FireflyJSCallback)completionHandler { NSDictionary * dict = @{系统信息字典}; completionHandler([dict ff_toJSONString],YES); }
#import <FireflyJSBridge/FireflyJSBridge.h> FireflyJSUIWebViewController *vc = [[FireflyJSUIWebViewController alloc] init] //不加载命名空间为ff的jsbridge实现 YES不加载 / NO加载 vc.notLoadffAbiFactory = YES; //注册命名空间为firefly的Native能力对象nativeObj [vc.getFireflyWebView addJavascriptObject:nativeObj nameSpace:@"firefly"];
还没有评论,来说两句吧...