美文网首页iOS - Cordova
iOS使用Objective-c自定义cordova插件(二)

iOS使用Objective-c自定义cordova插件(二)

作者: Springer | 来源:发表于2016-01-14 15:29 被阅读2411次

    上一章.

    `plugin.xml`中`platform`还有其它的配置`头文件`、`框架`、`plist文件`、`.a文件`以及配置`*-info.plist`文件.

    eg:

    框架: <framework src="CFNetwork.frame" weak="true"/>

    plist文件: <resource-file src="src/ios/PushConfig.plist"/>

    默认的info.plist添加key: <config-file target="*-info.plist " parent="NSLocationWhenInUseUsageDescription" >

    <dict>

    <key>NSAllowsArbitraryLoads</key>

    </true>

    </dict>

    </config-file>

    .a文件:<source-file src="src/ios/lib/libPushSDK-1.8.8.a" framework="true"/>

    `js`文件内容的配置如下:

    方框中的内容要与plugin.xml 中的方框name一致;

    红色横线的部分即为OC中CDVPlugin的子类要调用的函数名.

    5. 实现调用

    为了调用,我们使用angularjs的方法调用,在html中创建一个button按钮,设置点击的函数和控制器.

    ps:`tab-dash.html`文件中创建了按钮

    <div ng-controller="countController">

    <button ng-click="handleClick()">点击</button>

    </div>

    然后在`app.js`文件中,实现调用的函数

    至此,在项目的目录中,运行如下命令:

    sudo ionic platform update ios

    sudo ionic build ios

    然后用`Xcode`打开iOS项目运行即可。

    如若打的iOS项目中plugins文件夹不包括OC文件,请手动删除整个platform文件夹,重新执行:

    sudo ionic platform add ios

    sudo ionic build ios

    结果如下:

    源代码下载

    相关文章

      网友评论

      • zhudms:楼主是弃号了吗?如果没有的话我想问下plugin里能配置IOS 的setting中的内容吗?比如支持C/C++库,修改默认C库之类的
        Springer:@zhudms 你可以通过xcodebuild 命令进行设置
        zhudms:@Springer 不不,不是的 ,就是设置linkings -lstdc++,C language 等等这些设置里的选项,还有比如引入的类,可能有的不支持arc 要单独配置的这些,恩。。。。这跟你说的是一个意思吗
        Springer:你的意思是修改系统的库?
      • BBH_Life:你好,按照你的写法在学习插件,但是插件安装时候会出现“Error: Path must be a string. Received undefined”这样的报错,请问你有遇到过类似问题吗,Google半天基本没有类似问题...
        BBH_Life:@Springer 问题已经解决,还是xml中一些配置名字匹配问题。谢谢楼主!
        Springer:@BBHsLife 插件是怎么安装的?是直接打包进去的还是使用git等服务器?
      • 前进的火车2015:框架: <framework src="CFNetwork.frame" weak="true"/>

        plist文件: <resource-file src="src/ios/PushConfig.plist"/>

        默认的info.plist添加key: <config-file target="*-info.plist " parent="NSLocationWhenInUseUsageDescription" >

        <dict>

        <key>NSAllowsArbitraryLoads</key>

        </true>

        </dict>

        </config-file>

        .a文件:<source-file src="src/ios/lib/libPushSDK-1.8.8.a" framework="true"/>

        jplugin.xml 配制信息怎么设置,我是直接写在`plugin.xml`中`platform`内,但是当build的时候,原来在ios文件中写的自定义类(CountAdd)没有了,请大神指点一下,我的QQ,754607226
        Springer:@前进的火车2015 请查看http://www.jianshu.com/p/10cca2464fcf 上一章节,`plugin.xml`文件内容中header—file 和 source-file,指定要打包加载的连接地址。
      • 会疼的白痴:能沟通交流一下吗?我的QQ:953995648
      • 会疼的白痴:插件安装好了,可是用不了啊,还有就是你的源代码都没有插件
        会疼的白痴:@会疼的白痴 你能发一个完整的自定义插件工程给我吗?我这按照你的步骤不行啊,不需要注册什么吧,插件无效!!
        会疼的白痴:@Springer 自己写的插件怎么下载并安装到项目下
        Springer:@会疼的白痴 1.插件安装好,用不了是什么原因或者有报什么错么?
        2.也许是因为示例比较简单吧,源代码具体忘了那时候因为什么原因没有上传这个插件,但是你按着内容写的是可以自己做出来的。

      本文标题:iOS使用Objective-c自定义cordova插件(二)

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