Cordova自定义插件开发 iOS
<h3>安装依赖plugman</h3><p> plugman是用于安装和卸载用于Apache Cordova项目的插件的命令行工具。</p>
<p> https://www.npmjs.com/package/plugman</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">npm install -g plugman</pre>
</div>
<h3>创建插件</h3>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">plugman create --name [插件名] --plugin_id [插件id] --plugin_version [插件版本]
</pre>
</div>
<p> 为了方便管理,将插件可以创建在 Cordova 项目目录下的 plugins 文件夹下</p>
<p>例如:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">plugman create --name Demo --plugin_id com.cordova.demo --plugin_version 1.0.0
</pre>
</div>
<p> 生成目录结构如下,主要包含两个文件,plugin.xml 和 [插件名].js</p>
<p><img src="https://img2020.cnblogs.com/blog/1673959/202006/1673959-20200605171139249-914487627.png"></p>
<h3>插件配置</h3>
<p> 首先进入插件目录,添加插件支持的平台环境</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">cd Demo
plugman platform add --platform_name android
plugman platform add --platform_name ios
</pre>
</div>
<p> 添加之后将在Demo/src目录下产生android和ios两个目录,此处只以iOS为例</p>
<p><img src="https://img2020.cnblogs.com/blog/1673959/202006/1673959-20200605171808300-2033589986.png"></p>
<p> 在plugin.xml文件中也会生成添加平台的相应配置</p>
<p><img src="https://img2020.cnblogs.com/blog/1673959/202006/1673959-20200605172214916-2085379381.png"></p>
<div>
<p>参数说明:</p>
<ul>
<li><code>id="com.cordova.demo"</code> :插件id必须</li>
<li><code><js-module name="Demo" src="www/Demo.js" ></code>:此处配置js所在目录和调用的类名</li>
<li><code><source-file></code>:标示插件所需的oc .m文件</li>
<li><code><header-file></code>:标示插件所需的oc .h文件</li>
<li><code><resource-file></code>:标示插件所需资源文件(图片、xib资源等)</li>
<li><span class="s1"><strong><framework </strong><span class="s2">src<span class="s1"><strong>=</strong>"src/ios/xxx.framework"<span class="s1"><span class="s2">custom<span class="s1"><strong>=</strong>"true"<span class="s1"><strong> />:插件所包含的framework框架文件</strong></span></span></span></span></span></span></span></li>
<li><code><feature name="Demo"><param name="ios-package" value="Demo" /></code>:指明插件映射至ios的类名。</li>
</ul>
<p>更多参数参考《插件规范》</p>
<p>修改 Demo.js 文件</p>
<p><img src="https://img2020.cnblogs.com/blog/1673959/202006/1673959-20200606085333464-1083239963.png"></p>
</div>
<p>Cordvoa插件的输出文件,在h5/js中直接调用里面的方法与原生进行交互</p>
<p> 修改 Demo.m 文件</p>
<p>Cordvoa交互的原生文件需要继承于 CDVPlugin</p>
<p> <img src="https://img2020.cnblogs.com/blog/1673959/202006/1673959-20200606090924445-884294900.png"></p>
<p>在.m和jsh中,相互对应,在.m中完成与原生的交互行为</p>
<h3>初始化插件</h3>
<p> 进入插件目录执行</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">npm init
</pre>
</div>
<p> 根据提示完成配置,一般默认配置就能满足要求,生成一个package.json文件。</p>
<p>到此,一个完整的Cordvoa插件就创建完成了。</p>
<h3>插件调试</h3>
<p> 首先,创建调试项目,进入项目目录</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">cordova create CordovaProject com.cordova.demo CordovaApp<br>cd CordovaProject/
</pre>
</div>
<p> 安装插件</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">cordova plugin add [插件文件夹路径]</pre>
</div>
<p> 在项目目录的www文件夹(CordovaProject/www)下,修改html和js文件,添加测试代码</p>
<p> 添加开发平台</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">sudo cordova platform add ios
</pre>
</div>
<p> 运行ios项目,就可以进行代码调试了,这可以对导入的插件代码进行修改不会影响到插件源文件,调试完成后只需对插件对应文件进行替换和修改即可</p>
<p> </p>
<hr>
<p> </p>
<p>参考:https://www.cnblogs.com/VoiceOfDreams/p/11073447.html</p><br><br>
来源:https://www.cnblogs.com/vlucht/p/13051012.html
頁:
[1]