2012-02-23 66 views
4

我一直在閱讀關於如何爲Phonegap創建一個新插件,並且似乎通過遵循本教程得到它。Phonegap - 爲iOS擴展一個插件

http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOS

不過,我有一個很難把握如何擴展現有的插件。 (不是創建一個新的)
在閱讀本教程。

http://hiediutley.com/2011/03/28/phonegap-tutorial-series-3-extending-the-phonegap-api/

我似乎無法讓我在哪裏可以添加可能的代碼行例如.m文件。在我的Xcode中,我只能看到.h文件,而不能看到.m文件。
或者還有更好的方法來擴展api嗎?

謝謝
三通

回答

2

編輯:這個答案不再是完全正確的。

最新版本的Cordova/PhoneGap不是作爲一個編譯框架來的,它更容易(尤其是2.2.0版本)來調整特定應用程序使用的cordova版本,因爲它只是XCode中的一個子項目。

爲了讓你必須下載的PhoneGap(科爾多瓦)的iOS源並進行更改他們自己編譯的PhoneGap的框架版本的.m文件。

這不是很難,因爲它的聲音,但可以是一個有點嚇人,如果你不使用Objective-C和命令行編譯工具超級舒適。

,從iOS源意譯的README,例如:

$ git clone http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios.git

進行更改,然後...

  1. 啓動 「Terminal.app」
  2. 導航到其中的Makefile(./PhoneGapLib?)在make文件夾
  3. 類型,然後按Enter鍵

這應該將「PhoneGapInstaller.dmg」構建到dist文件夾中。這是你用來安裝你的新版本的PhoneGap。

另一種選擇是採取.M和要擴展(通過簡單地從GitHub的源代碼庫,讓他們),使他們與自己的名字一個新的插件API的.h文件。作爲一個例子,而不是擴展Camera API並修改Camera.m並重新編譯等等......我選擇了一個名爲MyCamera的插件,它擁有Camera API代碼和我自己的擴展。 PhoneGap中的大多數API(至少在iOS中)基本上已經是插件了,所以它們不需要太多的調整就可以轉化爲一個插件,只是爲了您的目的。

此方法還意味着您可以稍後升級PhoneGap並且不會破壞所有擴展。