1、第一步,要先建立一個支持PhoneGap(Cordova)的android工程
創(chuàng)新互聯(lián)技術(shù)團隊十載來致力于為客戶提供成都網(wǎng)站制作、做網(wǎng)站、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。
因為這個插件本質(zhì)上是安卓插件,用于PhoneGap,因此,要二者支持才行,所以我們要建立一個支持PhoneGap(Cordova)的android工程,插件在這個工程里面編寫。
我們采用cordova CLI來進行工程創(chuàng)建。這樣會比較方便。否則要先創(chuàng)建安卓工程,然后手動將cordova的東西拷到工程文件夾內(nèi),還要修改代碼,麻煩得很。
1)先創(chuàng)建一個cordova項目
在命令行方式下:
[plain] view
plaincopyprint?
cordova create hello com.example.test HelloWorld
cordova create hello com.example.test HelloWorld
這樣就在當(dāng)前路徑,創(chuàng)建了一個名為hello的文件夾,里面是cordova的各種文件
2)設(shè)置cordova支持android平臺
在命令行方式下:
[plain] view
plaincopyprint?
cd hello
cordova platform add android
cd hello
cordova platform add android
這樣在hello\platforms文件夾下,多了一個android子目錄,這個就是我們要的支持phoegap的安卓工程了,插件可以在這個工程里面編寫。
2、編寫插件
1)Hello.java
用eclipse打開該工程
在src下新建包及class
Hello.java:
2)config.xml
修改res/xml/config.xml
在節(jié)點widget里加入:
[html] view
plaincopyprint?
feature name="Hello"
param name="android-package" value="com.example.test.plugin.Hello" /
/feature
3、調(diào)用插件
調(diào)用是javascript唱獨角戲。
1)添加 js/plugin.js
var helloPlugin = {
say: function(successCallback, errorCallback) {
cordova.exec(
successCallback, // success callback function
errorCallback, // error callback function
'Hello', // mapped to our native Java class called "CalendarPlugin"
'sayHello', // with this action name
[] // and this array of custom arguments to create our entry
);
}
}
2)修改js/index.js
修改部分主要在結(jié)尾部分
3)修改首頁index.html
script type="text/javascript" src="cordova.js"/script
script type="text/javascript" src="js/index.js"/script
script type="text/javascript" src="js/plugin.js"/script
script type="text/javascript"
app.initialize();
/script
至此,就完成了一個for phonegap的安卓插件的編寫和調(diào)用過程。
經(jīng)過我們的不懈努力,CocoaPods的私有庫寫完了,現(xiàn)在進入集成階段了,倘若對方工程也在使用CocoaPods,我們也樂意開放源碼,那就是開心愉快了,倘若對方工程還是個老古董,我們也不樂意開放源碼,這時候就需要我們自行打包了。我們也知道打包又要考慮架構(gòu)考慮真機和模擬器,很繁瑣,CocoaPods Packager就可以來拯救我們。
Packaging Closed Source SDKs
CocoaPods Packager
打開終端,執(zhí)行下面命令:
這邊提供一個懶人方法,把命令寫成Shell可執(zhí)行文件放在目錄下,就不用每次都敲命令了:
就職于甜橙金融(翼支付)信息技術(shù)部,負(fù)責(zé)iOS客戶端開發(fā)
歡迎大家移步本人的小博客 ,不定時更新
打開 Xcode,創(chuàng)建一個新的Framework工程,然后點擊 Next
輸入插件工程名稱(建議使用一個性化的前綴,避免與其他人的插件包名沖突),其他項不需要修改保持工程默認(rèn)填充的即可,然后點擊Next
然后選中工程名,在TARGETS-Build Settings中,將 Mach-O Type 設(shè)置為 Static Library 如下圖所示
打開 iOSSDK/HBuilder-uniPluginDemo工程目錄,雙擊目錄中的HBuilder-uniPlugin.xcodeproj 文件運行插件開發(fā)主工程
在 Xcode 項目左側(cè)目錄選中主工程名,然后點擊右鍵選擇Add Files to “HBuilder-uniPlugin” ...
然后選擇您剛剛創(chuàng)建的插件工程路徑中,選中插件工程文件,勾選 Create folder references 和 Add to targets 兩項,然后點擊Add
然后在 Xcode 項目左側(cè)目錄選中主工程名,在TARGETS-Build Phases-Dependencies中點擊+
在彈窗中選中插件工程,如圖所示,然后點擊Add,將插件工程添加到Dependencies中
此時可以看到 Dependencies 和 Link Binary With Libraries 都添加了插件工程,如下圖所示
擴展原生功能有兩種方式:
module:不需要參與頁面布局,只需要通過 API 調(diào)用原生功能,比如:獲取當(dāng)前定位信息、數(shù)據(jù)請求等功能,通過擴展module的方式來實現(xiàn);
component:需要參與頁面布局,比如:map、image等需要顯示UI的功能,通過擴展component即組件的方法來實現(xiàn);
新建TestModule類,繼承 DCUniModule,引入 DCUniModule.h 頭文件。
然后在 TestModule.m 文件中添加實現(xiàn)方法
選中工程中的HBuilder-uniPlugin-Info.plist文件右鍵-Open As-Source Code找到dcloud_uniplugins節(jié)點,copy下面的內(nèi)容添加到dcloud_uniplugins節(jié)點下,按插件的實際信息填寫對應(yīng)的項
在 uni-app 項目中調(diào)用 module 方法
生成 uni-app 本地打包資源
首先需要生成本地打包資源,在 HBuilderX 中選您的 uni-app 工程,右鍵-發(fā)現(xiàn)-原生App-本地打→生成本地打包App資源
項目編譯完成后會在 HBuilderX 控制臺輸出資源存路徑,點擊路徑會自動打開資源所在文件夾
接下來,將應(yīng)用資源導(dǎo)入到插件開發(fā)主工程的 HBuilder-Hello/Pandora/apps/ 中,如下圖所示,直接拖進去即可
如下圖所示,將編譯工程選擇為插件項目(DCTestUniPlugin),運行設(shè)備選擇 Generic iOS Device
新建一個 package.json 文件,根據(jù)插件實際情況填寫插件配置信息
然后以插件id為名新建一個文件夾,將編輯好的 package.json 放進去,然后在文件夾中在新建一個 ios (小寫)文件夾,將剛剛生成的依賴庫(DCTestUniPlugin.framework)copy 到 ios 根目錄,這樣我們的插件包就構(gòu)建完成了,如下圖所示
HBuilderX 的 uni-app 項目創(chuàng)建中“nativeplugins”目錄(如不存在則創(chuàng)建)將插件配置到uni-app項目下的“nativeplugins”目錄
uni-app原生插件本地配置
將原生插件配置到uni-app項目的“nativeplugins”下,還需要在manifest.json文件的“App原生插件配置”項下點擊“選擇本地插件”,在列表中選擇需要打包生效的插件:
兼容iOS8插件:
1、NoSlowAnimations
這個可以說是必裝,給系統(tǒng)加速,讓原來緩慢動畫變快。有點副作用,就是聊天工具里的表情也變快放了,夠逗比。
2、Zeppelin
美化運營商圖標(biāo)的,讓不再千篇一律的中國移動/聯(lián)通/電信,我的運營商我做主!
3、Alkaline
美化電池圖標(biāo),內(nèi)置多種主題,讓電池圖標(biāo)不那么巨大。
4、DockShift
設(shè)置最下面一行圖標(biāo)的背景,就是我們常說的Dock。
5、Barrel
讓翻動頁面時,圖標(biāo)有3D特效,比較酷炫的插件,值得一試。
6、Flex2
知道八門神器嗎?它的作用類型,不過有些程序還是有兼容問題。
7、Virtual Home
解放HOME鍵的神器,你只需要摸TouchID,就可以和按下去一樣的效果,不過會導(dǎo)致iPhone6和6Plus的雙觸TouchID屏幕下降功能失效。
8、f.lux
調(diào)節(jié)屏幕的色溫,更好的保護眼睛。
9、SwipeSelection
針對iOS原生鍵盤的插件,可以讓你在鍵盤上滑動來移動輸入的光標(biāo),終于不用忍受按住出現(xiàn)放大鏡的繁瑣操作了。
10、換字體BytaFont 2
iOS8的字體和iOS7.1.2的兼容,中文字體是完全沒有問題的。
11、AndroidLock XT
和安卓機一樣,為鎖屏解鎖增加快捷功能,秒變安卓的感覺。
12、Apple File Conduit "2"
必裝插件之一,使用iTools管理越獄文件的根本,不過還有bug,重啟之后需要重新安裝一次,否則iTools還是會提示未越獄。
13、BatteryLife
電池信息查看的插件,主要是可以看到電池的循環(huán)次數(shù)和健康度,僅供參考。
14、BetterFolders
桌面文件夾增強插件,可以開啟4乘4模式圖標(biāo),允許文件夾中嵌套文件夾,支持雙指合攏退出文件夾。
15、BetterPowerDown
關(guān)機功能增強插件,當(dāng)你按下電源鍵之后,不光有滑動關(guān)機選擇,還有滑動重啟、注銷功能,建議安裝PowerAPP,節(jié)省電源鍵一些。
16、Bloard
功能就是讓自帶的輸入法鍵盤變成黑色款式,看上去更加美觀一些。
17、Blur Remover
將密碼解鎖的界面模糊效果替換成為透明的,但是現(xiàn)在有Cydia是不能設(shè)置密碼的,請大家自行注意?。?/p>
18、BlurBar
Blurbar允許用戶在設(shè)置里選擇狀態(tài)欄大小、模糊程度、不透明度調(diào)節(jié)、更換顏色等操作,以此來配合壁紙的顯示效果,使主屏界面更加美觀。
19、BlurredMusicApp
可以將iphone自帶的音樂播放程序界面變成黑色磨砂玻璃效果,本人5S親測可用,無論是自帶音樂播放還是收聽ITUNES RADIO都有效果。唯一的遺憾好像是沒有設(shè)置選項可以調(diào)節(jié)。
20、CCHide
如果覺得控制中心里的快捷啟動、AirDrop或者其他等等,不常用到覺得礙眼的,可以試試這個插件隱藏掉。
21、cylinder
提供45種炫酷的翻頁效果,各種充滿想象力的動態(tài)效果盡在其中。
22、Disable Parallax Effect
在不影響其他動畫效果的前提下,去除桌面的浮動效果,減少電量消耗。
23、Effects
為自帶的相機提供更多的拍照特效。
24、FakeClockUp
效果類似Noslowanimation,不過能加速的地方更多,老機器可以嘗試。
25、Folder Customizer
支持對文件夾背景顏色和透明度進行單獨設(shè)置,美化愛好者可以嘗試。
26、iCleaner
清理系統(tǒng)的垃圾文件,小容量設(shè)備可以試試看,建議不要隨意刪除系統(tǒng)的文件。
27、Icon Renamer
給桌面的圖標(biāo)改顯示的名字,需要按住之后雙擊,不過好像還是有點BUG。
28、LabelShift
將桌面上圖標(biāo)下面的文字向上或者向下調(diào)整,屬于美化一類。
29、LocationFaker
定位虛擬插件,可以讓你隨時去世界任何地方發(fā)微博微信,不過收費。
30、Lock Screen Tool
用來修改鎖屏?xí)r解鎖的文字,還可以設(shè)置鎖屏?xí)r間和日期的顯示,讓鎖屏簡潔美觀。
31、Lockify Pro
和上面一款應(yīng)用類似,但是可以設(shè)置的更多,請自己探索吧。
32、LockKeyboard
將鎖屏風(fēng)格的鍵盤應(yīng)用到整個系統(tǒng)中。
33、LockSpeed
在鎖屏界面增加快捷撥號功能,對于經(jīng)常打電話的人有一定幫助。
34、MobileTSS
在iOS上直接進行網(wǎng)絡(luò)調(diào)試的工具,開發(fā)者有用。
35、Nitrous
讓第三方瀏覽器支持蘋果自家的加速引擎,加快網(wǎng)頁打開的速度。
36、No Glint
去除鎖屏是滑動解鎖幾個字的閃光效果,美化愛好者可以體驗。
37、NoCameraGrabber
去除鎖屏界面的快捷拍照圖標(biāo),但是功能得到保留。
38、NoPageDots7
去除主屏幕上的頁數(shù)符號顯示。
39、NoCoverFlow7
屏蔽封面流的功能,感覺完全沒必要。
40、NoUpdateCircles
取消app store中安裝及更新時那個轉(zhuǎn)的藍圈。
41、PasswordPilot
幫助你記錄所有用來登陸并購買應(yīng)用的蘋果ID,方便切換。
42、SleekCode
設(shè)置解鎖屏幕輸入密碼時背景圖案的透明度和密碼鍵盤的背景,對于美化愛好者可以試驗。
支持ios8.12系統(tǒng)的暫時還不清楚,之前是可以通過插件包單獨導(dǎo)出,再放入安裝目錄重啟安裝。 插件在下載時會緩存到 /var/mobile/Library/Caches/com.saurik.Cydia/archives 然后再安裝,在下載安裝過程中直接提取(Cydia在安裝完后先別急點擊注銷或重啟,等提取完了再點),已安裝的可以選擇再次安裝,在安裝過程中提取,其他軟件等數(shù)據(jù)的話都可以用pc端的同步助手備份數(shù)據(jù),詳細的可以查找用同步助手備份數(shù)據(jù)教程,希望可以幫助到你,望采納……