2017-05-05 34 views
0

添加插件我試圖開發iOS和Android使用PhoneGap的應用程序,但我面臨着一個問題,我似乎無法找到答案。這可能是一個新手的錯誤,但也許有人可以指出我正確的方向。下面是我的環境:PhoneGap的config.xml中 - 不工作

1)PhoneGap的版本是6.5.0。科爾多瓦版本我剛升級到7.0.0。

2)OS X埃爾卡皮坦(10.11)。安裝在iPhone運行iOS 10.

4)Hello World示例應用程序

3)的PhoneGap開發應用程序(但它失敗,我真正的應用程序,以及以同樣的方式)。

問題是,如果我將一個新插件添加到位於項目根文件夾的config.xml中,那麼我會看到該插件被下載到插件文件夾中,但我無法獲取它的實例deviceready事件已經觸發。

舉例來說,如果我加入這config.xml中:

<plugin name="cordova-plugin-ace" spec="https://github.com/microsoft/ace.git" /> 

如果應用程序使用得到的任何PhoneGap的桌面應用程序或CLI命令「PhoneGap的服務」擔任了我的iPhone,我提醒在deviceready處理程序中出現window.ace,值爲「未定義」。

但是,如果我執行「科爾多瓦運行IOS」運行通過模擬器的應用程序,然後window.ace定義和工作。

此外,如果我將內容src屬性更改爲指向另一個文件,它再次適用於「cordova run ios」,但不適用於PhoneGap開發人員應用程序,它似乎始終提供index.html。我看到了一位用戶在那裏遇到同樣的問題,並建議開發者應用不讀取config.xml。我已經證明情況並非如此,故意在那裏發現錯誤,並將其發現。

誰能告訴我什麼,我做錯了,因爲如果我不能添加插件,它種使得PhoneGap的開發應用沒用?

回答

0

我認爲你將不得不安裝使用NPM插件。然後,在這樣的配置文件中指定:

<plugin name="cordova-plugin-ace" source="npm" spec="~2.1.0" /> 

注意:規範屬性可能會有所不同。

以下網址可能有一些幫助。

+0

我做了這樣的說法對其他插件。也許王牌是一個壞榜樣。無論如何,它沒有任何區別。我讀到PhoneGap開發人員應用程序使用自己的config.xml,這可能是原因。也許有人可以證實。 – rushman

+0

只需添加更多信息。我已經嘗試了這種方法爲科爾多瓦插件王牌和科爾多瓦插件鍵盤。在這兩種情況下,我都使用「cordova plugin add」來添加插件。在通過PhoneGap開發人員應用程序運行時,都無法實例化其對象。兩者都使用cordova run ios。通過瀏覽器連接到PhoneGap服務器時都可以工作。因此,間接的證據表明在設備上安裝PhoneGap開發人員應用程序時存在問題。 – rushman

+0

我也檢查了應用商店的開發者應用版本歷史記錄。有很多條目可以添加這個插件。所以我認爲正確的答案是開發人員的應用程序在設備上使用自己的config.xml,這對於開發真實世界的應用程序幾乎沒有任何用處。 – rushman