iOS 14

iOS 14

Summary

 NAOSDK remains compatible with iOS14.

Permission Changes

On iOS 13, the user had the option of deciding whether the app should have access to its location once, only when using the app, or always.

On iOS 14, the user can décide whether the app should have access to its precise location or just its approximate location

Limitations within the approximate location

User Location Authorization: that’s how we advise permissions management in app

As on iOS13, the app should set up a message explaining the need for permanent authorization to receive proximity alerts for certain offers.

in the same context, on iOS14 the application must explain to the user the need to have a precise location authorization to benefit from the indoor location

  • Activate “precise location” from settings

 

 

Code snippet to check the precise location (accuracyAuthorization)

in iOS 14 ‘authorizationStatus()’ is deprecated :

https://developer.apple.com/documentation/corelocation/cllocationmanager/1423523-authorizationstatus

We should use locationManagerDidChangeAuthorization instead:

func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    let accuracyAuthorization = manager.accuracyAuthorization
    switch accuracyAuthorization {
    case .fullAccuracy:
        break
    case .reducedAccuracy:
        break
    default:
        break
    }
}

Location authorization changes

 The user now will have the possibility in addition to accepting “In use”, “Authorize once” or “Never”, being able to authorize if the application can use a precise or approximate position.

  1. Request permission via requestAlwaysAuthorization()

This is how we advise the management of this new authorization in application

If your app doesn’t have permission to access accurate location (accuracyAuthorization), you can use requestTemporaryFullAccuracyAuthorization() method to request temporary access to accurate location.

This access will expire automatically, but it won’t expire while the user is still engaged with your app
This requires the user to authorise full accuracy each time you need it via a new authorisation prompt which displays the new NSLocationTemporaryUsageDescriptionDictionary plist key.

info.plist example

<key>NSLocationTemporaryUsageDescriptionDictionary</key>
           <dict>
             <key>ExampleUsageDescription</key>
             <string>This app needs accurate location so it can verify that you're in a supported region.</string>
             <key>AnotherUsageDescription</key>
             <string>This app needs accurate location so it can show you relevant results.</string>
           </dict>
    • Related Articles

    • iOS

      NaoMapSdkFramework provides easy-to-use and powerful NAO Map library iOS. The classes are described below. Installation use_frameworks! # Add this if you are targeting iOS 11+ platform :ios, '11.0' install! 'cocoapods', :deterministic_uuids => false ...
    • iOS 15

      Intro iOS 15 has been released on September 15th (2021). It doesn’t need any additional permissions, the previous recommendations for the iOS 14 remain valid. However, two new features or enhancements about the location permissions and notifications ...
    • iOS 13

      NAOSDK remains compatible with iOS13. iOS 13 brings some changes to existing permissions. If your app only uses NAO SDK while the app is in the foreground, you don’t have to change anything (The Foreground operation is exactly the same as iOS12); ...
    • iOS 11

      iOS 11 brings some changes to existing APIs. If your app only uses NAO SDK while the app is in the foreground, you do not have to change anything; however, if your app uses NAO SDK when it is in background, you need to make some changes. In iOS 10 ...
    • Release 22.06 (NAO SDK 4.11.7.8 / Hot Fix iOS 4.11.7.9)

      Versions Component Version Hotfix NAO® Cloud 22.06 NAO® SDK iOS 4.11.7.8 4.11.7.9 NAO® SDK Android 4.11.7.8 NAO® Logger iOS 4.11.7.8 NAO® Logger Android 4.11.7.8 New Features NAO® Cloud Nao track web app is now available Nao track web app crash ...