cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-13680) cordova-plugin-geolocation permission request going wrong in newer iOS version
Date Tue, 02 Jan 2018 09:31:03 GMT

    [ https://issues.apache.org/jira/browse/CB-13680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16307799#comment-16307799
] 

ASF GitHub Bot commented on CB-13680:
-------------------------------------

edvenkat commented on issue #100: CB-13680: (android) First check for NSLocationAlwaysUsageDescription
permission to make sure requestAlwaysAuthorization is fired instead of requestWhenInUseAuthorization
URL: https://github.com/apache/cordova-plugin-geolocation/pull/100#issuecomment-354725677
 
 
   When it is in live???? or can we use "https://github.com/Babettestam/cordova-plugin-geolocation"
this url?????

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> cordova-plugin-geolocation permission request going wrong in newer iOS version
> ------------------------------------------------------------------------------
>
>                 Key: CB-13680
>                 URL: https://issues.apache.org/jira/browse/CB-13680
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-plugin-geolocation
>         Environment: iOS
>            Reporter: Babette Stam
>            Priority: Minor
>             Fix For: Master
>
>
> When you want to request the always access location permissions the newer iOS version
requires that the NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription
are both set. It is not allowed to only set the NSLocationAlwaysUsageDescription anymore.
> But in the Cordova code there is a check that when you have the NSLocationWhenInUseUsageDescription
set, the application will only ask the user permission to use the location in app usage (requestWhenInUseAuthorization).
It will run the requestAlwaysAuthorization.
> I saw a different issue reported 2 years ago with the question reversed (CB-8826). This
was then implemented, but is not working with the latest version. The following code should
be edited:
> {code:javascript}
> #ifdef __IPHONE_8_0
>     NSUInteger code = [CLLocationManager authorizationStatus];
>     if (code == kCLAuthorizationStatusNotDetermined && ([self.locationManager
respondsToSelector:@selector(requestAlwaysAuthorization)] || [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]))
{ //iOS8+
>         __highAccuracyEnabled = enableHighAccuracy;
>         if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"]){
>             [self.locationManager requestWhenInUseAuthorization];
>         } else if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"])
{
>             [self.locationManager  requestAlwaysAuthorization];
>         } else {
>             NSLog(@"[Warning] No NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription
key is defined in the Info.plist file.");
>         }
>         return;
>     }
> #endif
> {code}
> It should be: 
> {code:javascript}
> #ifdef __IPHONE_8_0
>     NSUInteger code = [CLLocationManager authorizationStatus];
>     if (code == kCLAuthorizationStatusNotDetermined && ([self.locationManager
respondsToSelector:@selector(requestAlwaysAuthorization)] || [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]))
{ //iOS8+
>         __highAccuracyEnabled = enableHighAccuracy;
>         if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"])
{
>             [self.locationManager  requestAlwaysAuthorization];
>         } else if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"]){
>             [self.locationManager requestWhenInUseAuthorization];
>         } else {
>             NSLog(@"[Warning] No NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription
key is defined in the Info.plist file.");
>         }
>         return;
>     }
> #endif
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message