由于在項目中用到了h5和oc的交互,綜合考慮最后我們選擇了cordova來寫這個項目;
一、首先是安裝cordova,切記吃透官方文檔,少走彎路。 打開命令提示符或終端,然后鍵入npm install -g cordova
二、編寫插件
1.創(chuàng)建一個Demo: qwerDemo
$ cd ~/Desktop
$ cordova create qwerDemo com.example.demo qwerDemo
注意: 創(chuàng)建項目可以cordova create qwerDemo 也可以cordova create qwerDemo com.example.demo qwerDemo 后者的區(qū)別在于第一個qwerDemo是目錄文件夾的名字 ,com.example.demo指的是項目的bundleId,在目錄里的config.xml有提現(xiàn),第二個 qwerDemo指的是項目中的名字
2.進入工程目錄
$ cd qwerDemo/
3.創(chuàng)建平臺(這里僅以ios為例)
$ cordova platform add ios
4.安裝plugman:
npm install -g plugman
如果安裝不成功,出現(xiàn)這種情況:

報錯的情況下就用:
sudo npm install -g plugman按照提示輸入密碼即可成功安裝。
5.我們既可以用自己創(chuàng)建的插件也可以去cordova插件下載
①安裝插件
cordova plugin add cordova-plugin-device
查看插件
cordova plugin list
刪除插件
cordova plugin rm cordova-plugin-device
②自定義創(chuàng)建插件
創(chuàng)建一個插件名為MyFood, ID為com.china.food,版本號為1.0.0的插件
plugman create --name MyFood --plugin_id com.china.food --plugin_version 1.0.0
進入插件目錄
cd MyFood
plugin.xml 增加ios平臺
plugman platform add --platform_name ios
目錄結(jié)構(gòu)如下:


接下來修改src/ios/MyFood.m中的內(nèi)容

修改調(diào)用www/MyFood.js:

最后在插件目錄使用:
$ cd MyFood
$ sudo plugman createpackagejson .
可以生成一個 package.json,防止安裝插件時出現(xiàn):
Error: Invalid Plugin! xxxxx needs a valid package.json
輸入開機密碼之后,所有的提示都直接回車即可。
現(xiàn)在插件寫好了,就可以添加插件了
$ cd qwerDemo
$ cordova plugin add ../MyFood
如果執(zhí)行命令的時候報錯,則換成指令
$ cordova plugin add /Users/xxx/Desktop/qwerDemo/MyFood
即這個文件的目錄拖進來。
這個時候打印cordova plugin ls 如下

到現(xiàn)在為止,插件的制作已經(jīng)完成,打開項目
qwerDemo/platforms/ios/qwerDemo.xcworkspace運行項目,項目運行成功
工程Demo已經(jīng)上傳至github,
歡迎大家提出意見我的QQ 203555928@qq.com