API геолокации Кордовы не работает IOS 8

Разрабатываю мобильное приложение Jquery с использованием API геолокации Кордовы.

Cordova: 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;
    }

Попытался добавить следующий код в мои платформы/ios/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>

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


person Dibish    schedule 30.01.2015    source источник


Ответы (1)


Наконец нашел проблему. Я обновил Xcode до последней версии Xcode 6. Теперь он работает нормально.

person Dibish    schedule 02.02.2015