美文网首页
iOS ionic+cordova 添加插件,如:cordova

iOS ionic+cordova 添加插件,如:cordova

作者: 花里胡哨00 | 来源:发表于2019-04-02 15:39 被阅读0次

ionic创建一个添加cordova-plugin-broadcaster插件的项目,取2个插件文件,2个文件中添加对应的配置,如:

1、ionic项目中,取出对应原生插件文件和www基础包文件里的插件,放入到自己项目对应存储插件位置。如图:ionic项目文件目录图

ionic项目,原生需要的插件路径 ionic项目,www基础包需要的插件路径

2、ionic项目中,根据www基础包加入对应的插件索引,取出对应的,放入自己项目的,www基础包的cordova_plugins.js这个文件下。

a、

{

    "id": "cordova-plugin-broadcaster.broadcaster",

    "file": "plugins/cordova-plugin-broadcaster/www/broadcaster.js",

    "pluginId": "cordova-plugin-broadcaster",

    "clobbers": [

      "broadcaster"

    ]

  },

b、

"cordova-plugin-broadcaster": "3.1.1",

如图:ionic项目www基础包需导入插图

3、ionic项目中,根据config.xml文件加入对应的原生插件的索引。取出ionic项目config.xml

<feature name="broadcaster">

        <param name="ios-package" value="CDVBroadcaster" />

    </feature>

放到自己项目config.xml对应位置,如图:

ionic项目需配置的路径图

到这里插件已添加完成

4、插件添加完,app代码实现对应交互:

   a、ionic页面监听:

  //eventName:需与web端统一,功能推送名称

    [[NSNotificationCenter defaultCenter] addObserverForName:@"eventName"

                                                      object:nil

                                                       queue:[NSOperationQueuemainQueue]

                                                  usingBlock:^(NSNotification*note) {

                                                      NSLog(@"Handled 'js to native' [%@]", note.userInfo[@"item"]);

                                                      NSDictionary*dic = note.userInfo[@"item"];

                                                  }];

   b、web端实现代码,举个例子:

function pushMorePage()

  {      // 这句代码是 用于传值给 原生的

      this.broadcaster.fireNativeEvent('eventName', {"item":'我是来自ionic的值'}).then(() => console.log('IonicReceiver CDVBroadcaster'));

  }

<button onclick="pushMorePage()"type="button">尽然成功了</button>

5、app回传数据给ionic

[[NSNotificationCenter defaultCenter] postNotificationName:@"eventName" object:nil userInfo:@{ @"eventName": @""}];

总结:

1、web与app交互,推送监听对应功能名需要统一,才能收的到


完结

附上ionic基础项目(有cordova-plugin-broadcaster插件)创建:

注意:如果需要创建完整的带有copush的ionic项目,可参考:https://www.jianshu.com/p/bb78e8ffe654

1、ionic start codepush-ionic-NB tabs

创建tabs样式的ionic3项目 不需要Ionic Pro SDK

2、cd codepush-ionic-test                                                     进入项目文件夹

3、ionic cordova plugin cordova-plugin-broadcaster         添加插件:

4、ionic cordova platform add ios                                          iOS ionic项目创建

相关文章

网友评论

      本文标题:iOS ionic+cordova 添加插件,如:cordova

      本文链接:https://www.haomeiwen.com/subject/cocgbqtx.html