permissions - Testing Location Services on iOS Device -


i'm building app list nearest product dealers users current location.

when testing on device iphone 6 & iphone 4s can see app doesn't have permission location when go settings can't see test app listed grant permission.

is due way app installed when "run" via appcelerator studio? how can grant test app permission please?

my code is:

function getcurrentphonelocation(callback) {     titanium.api.info("get phone location " + ti.geolocation.locationservicesenabled);     if(ti.geolocation.locationservicesenabled)     {         titanium.api.info("gps permissions: " + ti.geolocation.locationservicesauthorization + " (" + ti.geolocation.authorization_always + " | " + ti.geolocation.authorization_authorized + " | " + ti.geolocation.authorization_when_in_use +  ")");         if (ti.geolocation.locationservicesauthorization == ti.geolocation.authorization_always || ti.geolocation.locationservicesauthorization == ti.geolocation.authorization_authorized || ti.geolocation.locationservicesauthorization == ti.geolocation.authorization_when_in_use)         {               titanium.api.info("got permissions - lets go!");                ti.geolocation.purpose = 'get current location';                        var currentphonelocation = {};                ti.geolocation.getcurrentposition(function(e){                   titanium.api.info("from pos: " + json.stringify(e));                   if(e.success === false) {                       ti.api.error('error:' + e.error);                       alert("location unavailable");                       callback( false );                   } else {                        currentphonelocation.longitude = e.coords.longitude;                       currentphonelocation.latitude = e.coords.latitude;                       ti.api.info("returned cords: " + json.stringify(currentphonelocation));                       callback();                    }                              });                      }          else         {               titanium.api.info("no app permission");               titanium.ui.createalertdialog({title:'location service', message:'please grant app permission location.'}).show();               callback( false );         }     }     else     {           titanium.api.info("no gps available");           titanium.ui.createalertdialog({title:'location service', message:'please turn on location services.'}).show();           callback( false );     } } 

you can see trace code showing ti.geolocation.locationservicesauthorization returning '0'.

[info] :   phone location true [info] :   gps permissions: 0 (3 | 3 | 4) [info] :   no app permission [info] :   recieved location: false 

no matter how install it, preferences work same. still have authorise it.

however, lot of things have changed permissions in latest release, , recommend looking @ documentation set properly. can find example app on github

best way check if has been granted through:

ti.geolocation.haslocationpermissions(ti.geolocation.authorization_always); 

also, recommend fetching location. false provided you. if granted app permissions (verified in settings) should work

ti.geolocation.getcurrentposition(callback(e){}) 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -