как общаться с ionic1 на родной ios swift с помощью пользовательского плагина cordova - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь связаться с ionic 1 до ios swift native, используя пользовательский плагин cordova, для которого я разработал плагин согласно https://moduscreate.com/blog/writing-a-cordova-plugin-in-swift-for-ios/ этого документа.но я не могу общаться.Я получаю:

- [CDVCommandQueue executePending] [Строка 142] FAILED pluginJSON = ["LiveConnectCordova486334569", "LiveConnectCordova", "echo", ["jai"]]

plugin.xml

<?xml version='1.0' encoding='utf-8'?>
<plugin id="com-fibase-ionic-ios-multivideo" version="0.0.1" 
xmlns="http://apache.org/cordova/ns/plugins/1.0" 
xmlns:android="http://schemas.android.com/apk/res/android"> . 
<name>LiveConnectCordova</name>


<platform name="ios">
    <config-file parent="/*" target="config.xml">
    <feature name="LiveConnectCordova">
        <param name="ios-package" value="LiveConnectCordova" />
    </feature>
    </config-file>

    <js-module name="LiveConnectCordova" src="www/LiveConnectCordova.js">
        <clobbers target="LiveConnectCordova" />
    </js-module>
<source-file src="src/ios/LiveConnectCordova.swift" />

<dependency id="cordova-plugin-add-swift-support" version="1.7.2"/>
</platform>

plugin.js

var exec = require('cordova/exec');
exports.coolMethod = function (arg0, success, error) {
    exec(success, error, 'LiveConnectCordova', 'echo', [arg0]);
};

класс myswift

 @objc(LiveConnectCordova) class LiveConnectCordova : CDVPlugin {
   func echo(command: CDVInvokedUrlCommand) {
      var pluginResult = CDVPluginResult(
          status: CDVCommandStatus_ERROR
      )

     let msg = command.arguments[0] as? String ?? ""

     if msg.characters.count > 0 {

         pluginResult = CDVPluginResult(
            status: CDVCommandStatus_OK,
            messageAs: msg
        )
    }

     self.commandDelegate!.send(
        pluginResult,
        callbackId: command.callbackId
     )
   }
  }

1 Ответ

0 голосов
/ 06 декабря 2018

Вам необходимо обновить код файла LiveConnectCordova.js, как указано ниже.

var exec = require('cordova/exec');
exports.echo = function (arg0, success, error) {
    exec(success, error, 'LiveConnectCordova', 'echo', [arg0]);
};

Когда вы вызываете метод echo из своего ионного кода.

Также вызовите метод плагина какниже.

window["LiveConnectCordova"].echo(
              param,
              function(res) {
                console.log("Response :", res);
              },
              function(err) {
                console.log("Error :", err);
              }
            );

Попробуйте позвонить по телефону выше в своем приложении.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...