2015-01-30 8 views
1

Разрабатывает мобильное приложение JQuery с использованием привязки corova geolocation api.Кордова Геолокация API не работает IOS 8

Кордова: 3.6.3 геолокации: Cordova плагин добавить org.apache.cordova.geolocation (последняя версия),
JQuery Mobile: 1.4.4

подвожу точное текущее положение, используя следующий код

navigator.geolocation.getCurrentPosition(drawMap,handleError, { 
     enableHighAccuracy: true, 
     maximumAge : 0, 
     timeout : 60000 
    }); 

Проблема с положением часов, его всегда срабатывает Неизвестная ошибка. Тот же самый код работает нормально в IOS-6

watchProcess = navigator.geolocation.watchPosition(handleSuccess, 

    handleError, { 
       enableHighAccuracy: true, 
       maximumAge : 0, 
       timeout : 60000 
      }); 
switch(error.code) 
    { 
     case error.PERMISSION_DENIED: 
      alert("User did not share geolocation data"); 
      $(".ajax-loader").hide(); 
      break; 
     case error.POSITION_UNAVAILABLE: 
      alert("Could not detect current position"); 
      $(".ajax-loader").hide(); 
      break; 
     case error.TIMEOUT: 
      alert("Retrieving position timed out, could not detect your location"); 
      $(".ajax-loader").hide(); 
      break; 
     default: 
      alert("Unknown Error"); // Always getting Unknown Error 
      $(".ajax-loader").hide(); 
      break; 
    } 

пытался добавить следующий код в моей платформы/Иос/NavSustain файл/config.xml, но не повезло

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

Мой файл config.xml является

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.navsustain.navsustain" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 


    <preference name="AllowInlineMediaPlayback" value="false" /> 
    <preference name="AutoHideSplashScreen" value="true" /> 
    <preference name="BackupWebStorage" value="cloud" /> 
    <preference name="DisallowOverscroll" value="false" /> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="FadeSplashScreen" value="true" /> 
    <preference name="FadeSplashScreenDuration" value=".25" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
    <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
    <preference name="ShowSplashScreenSpinner" value="true" /> 
    <preference name="SuppressesIncrementalRendering" value="false" /> 
    <preference name="TopActivityIndicator" value="gray" /> 
    <preference name="GapBetweenPages" value="0" /> 
    <preference name="PageLength" value="0" /> 
    <preference name="PaginationBreakingMode" value="page" /> 
    <preference name="PaginationMode" value="unpaginated" /> 
    <feature name="LocalStorage"> 
     <param name="ios-package" value="CDVLocalStorage" /> 
    </feature> 
    <feature name="Geolocation"> 
     <param name="ios-package" value="CDVLocation" /> 
    </feature> 
    <name>NavSustain</name> 
    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 

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

    <author email="[email protected]" href="http://cordova.io"> 
     Apache Cordova Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <feature name="NetworkStatus"> 
     <param name="ios-package" value="CDVConnection" /> 
    </feature> 
    <feature name="Notification"> 
     <param name="ios-package" value="CDVNotification" /> 
    </feature> 
    <feature name="SplashScreen"> 
     <param name="ios-package" value="CDVSplashScreen" /> 
     <param name="onload" value="true" /> 
    </feature> 
</widget> 

Ваша помощь очень ценится. Спасибо

ответ

0

Наконец-то проблема. У меня есть обновление Xcode до последней версии Xcode 6. Теперь он работает отлично.