cordova调用ios原生(js调用swift)

1.在Plugins文件夹中创建一个swift文件

说明:1.父类选CDVPlugin
2.在弹出的提示框中选择创建桥接文件

import Foundation


@objc(XXSwiftPlugin) class XXSwiftPlugin: CDVPlugin {
    
    
    @objc func getContent(command:CDVInvokedUrlCommand){
        var pluginResult:CDVPluginResult?
        
        let password = command.argument(at: 0) as? String;
        
        //CDVCommandStatus_OK
        pluginResult = CDVPluginResult(status: CDVCommandStatus_ERROR, messageAs: "综合处理后的结果是:swift_"+password!);
        
        self.commandDelegate.send(pluginResult, callbackId: command.callbackId);

    }

}

在这里插入图片描述

2.在桥接文件中引入Cordova/CDV.h

2.在桥接文件中引入#import <Cordova/CDV.h>

#import <Cordova/CDV.h>

在这里插入图片描述

3.在config.xml文件中加入

1

 <feature name="XXSwiftPlugin">
        <param name="ios-package" value="XXSwiftPlugin" />
    </feature>

在这里插入图片描述

4.在js文件中调用swift方法

1

$(".toIos").on("click",function(){
    console.log("跳转到ios");
    var password = $(".toIos").html();

    function success(message){
        //CDVPluginResult(status: 后面的参数选CDVCommandStatus_OK会回调这个方法
        console.log("成功");
        console.log(message);
    }
//message的值是:综合处理后的结果是:swift_跳到ios界面
    function fault(message){
         //CDVPluginResult(status: 后面的参数选CDVCommandStatus_ERROR会回调这个方法
        console.log("失败");
        console.log(message);
    }

    //这里参数的方法名要写getContentWithCommand,因为swift转oc的过程中会加WithCommand
    Cordova.exec(success,fault,"XXSwiftPlugin","getContentWithCommand",[password]);


})

在这里插入图片描述

5.相关截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.在xcode中打开cordova项目

在这里插入图片描述

参考博客:

链接:
Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)

链接: 使用Swift开发Cordova插件遇到的问题

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页