Start a new topic

Problem with WTAuthorizationRequestManager and NSLocationAlwaysUsageDescription on IOS


our application needs to use LocationAlwaysUsage for location updates in background.

Both NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription are set. In the application settings the user can select between 'always', 'in use' and 'deny'.  The wikitude view only works when the user changes to 'in use' but not when on 'always'.

I double-checked that the 'always' right is aquired and granted before the
WTAuthorizationRequestManager is called:

CLAuthorizationStatus myState = [CLLocationManager authorizationStatus];                        
        [self.augmentedRealityAuthenticationRequestManager requestRestrictedAppleiOSSDKAPIAuthorization:restrictedAppleiOSSDKAPIs completion:^(BOOL success, NSError * _Nonnull error) { .

When myState equals kCLAuthorizationStatusAuthorizedAlways the
WTAuthorizationRequestManager returns the error code

 error   NSError *   domain: @"com.wikitude.architect.AuthorizationStates" - code: 960

We use the Wikitude IOS JavaScript API SDK 6.1.0, our test hardware is
an iphone 6 with IOS 10.3.1 and an iphone 5 with IOS 10.2

Hi Karsten,

Thx for reporting the finding. You can download an updated version of the Wikitude iOS SDK JS API here. Please let me know if that works for you.

Best regards,


Hello Andreas,

thanks for your response. I am sorry to report that it does not work.
Now in both cases when myState is kCLAuthorizationStatusAuthorizedAlways or
 in either kCLAuthorizationStatusAuthorizedWhenInUse the error code 960 is returned.

Even if remove my location manager, remove NSLocationAlwaysUsageDescription, do a fresh install so that the state is kCLAuthorizationStatusNotDetermined and Wikitude is the first and only to ask for the authorization and the 'when in use'  is granted (checked in settings) the new version no longer works and returns error code 960.


Hi Karsten,

I made a stupid mistake when comparing authorisation states. Please try the SDK available here

I tried it myself and as far as I understood your setup correctly, it should work.

Best regards,


Thanks a lot for your help. The latest SDK version works in both cases, i have marked the topic as solved.


Best regards,


Login or Signup to post a comment