使用 Cordova 实现原生 iOS 和 h5的交互
2019-04-10 10:21
393 查看
h5调用原生 ios 的方法:
- h5使用 cordova打包生成ios 版本之后的项目文件里会自动集成CordovaLib/CordovaLib项目包,里面有它的公有和私有的代理方法;
- 用 cordova 实现 h5调用原生的 ios 代码主要是通过插件来实现的;首先我们需要创建一个插件的类,这里我创建了MyObjPlugin类, 继承CDVPlugin,编写一个方法,为 h5调用时使用的方法, - (void)presentVideoViewController:(CDVInvokedUrlCommand*)command;
在.m 文件中实现该方法,跳转进入视频监控界面;
- 我们创建好自定义插件和方法之后,需要将插件添加到 config.xml 文件中配置,引用插件.插件名称要与Cordova.exec调用方法里的插件名称一致.
- 在 h5代码里,使用Cordova.exec(success,failed,service,action,args)函数,可以调用 cordova 插件的方法,这里我们用的是自定义的插件,方法名称为我们定义好的方法名
success: 调用成功的回调,执行 h5操作;
failed: 调用失败的回调;
service: 自定义插件的名称, 与config.xml配置文件中feature字节的name属性相对应
action: 插件执行iOS的方法;
args: 界面传入的参数
我是在h5代码中的 controller点击视频监控的按钮方法里调用Cordova.exec函数,并且把 ip,推流地址 ip,用户信息,请求的 token 作为参数传递到了 cordova 插件方法中
完成以上就可以实现 h5调 iOS 原生的方法,成功和失败的回调方法是在 h5里面实现;
拓展: iOS 原生调用 h5的方法:其实就是 h5调原生的回调方法, 使用Cordova封装的(evalJs:)方法,可以调用一段 h5的代码,也可以通过[self.commandDelegate sendPluginResult:result1 callbackId:command.callbackId];来调用 h5里面的成功和失败的回调方法。
相关文章推荐
- Cordova - 与iOS原生代码交互2(使用Swift开发Cordova的自定义插件)
- iOS与H5交互 H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互。技术方案应能达到以下要求: 在js与原生进行交互的时候能保证正常的正向调用逻辑返回
- OVGap iOS与Javascript交互(H5与原生APP交互)
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- iOS使用WebViewJavascriptBridge实现OC与JS交互
- iOS原生App与H5页面交互笔记
- IOS中 使用JavaScriptCore 实现OC与JS的交互
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- Android原生与H5交互的实现
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- Vue项目使用Cordova实现调取原生摄像头并实现裁剪功能
- IOS_使用CorePlot实现曲线图(可交互)
- iOS使用UIWebView和原生交互
- 使用jsBridge和原生IOS、Android交互
- iOS利用Cordova/PhoneGap实现js和原生之间的通讯
- ios原生方法和h5相互调用的实现
- H5与iOS原生交互
- [iOS] 使用WebViewJavascriptBridge实现OC与JS交互
- iOS原生与H5页面交互