2014-11-04 51 views
0

如何更改PhoneGap應用程序的權限?我希望應用訪問用戶的GPS。但是,當我使用build.phonegap.com我檢索應用程序時,並不真正知道如何執行此操作。該應用程序從不要求使用我的位置的權限。相反,我手動把它,但我仍然得到錯誤代碼「權限被拒絕」。Phonegap GPS權限

iPhone 5S iOS8上, org.apache.cordova.geolocation 0.3.10, 的PhoneGap 3.5

document.addEventListener("deviceready", onDeviceReadyGeo, false); 

function onDeviceReadyGeo() { 
    if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(success, onError, {timeout:10000}); 
    } else { 
    error('Geo Location is not supported'); 
    } 
} 

回答

0

爲了顯示對的iOS權限對話框,你必須在以下配置config.xml

<gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription" overwrite="false"> 
    <array> 
     <string>NSLocationAlwaysUsageDescription</string> 
    </array> 
</gap:config-file> 

我使用這個,它運作良好。

0

我假設你已經看過Cordova plugin docs,並且擁有插件設置的基礎知識。如果是這樣,這可能是一個權限問題。獲取位置權限在iOS8中稍微複雜一些,因爲您必須考慮針對iOS8 +和iOS7以及更早版本分別請求的權限。

退房this NSHipster article更多細節,但基本上是:

  • 對於iOS8上,必須具有了「在使用時」(NSLocationWhenInUseUsageDescription)或「總是」(NSLocationAlwaysUsageDescription)許可,您可以通過把得到相當於鑰匙和描述在你的Info.plist

  • 對於iOS7和更早版本,你需要有NSLocationUsageDescription鍵和說明設置

Cordova在返回位置之前會看到滿足這些要求。