iOS 11

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 and earlier

apps can request access to user’s location in two ways, depending on how they plan to access and use it:

While Using (aka “When in Use” in API)

To access NAO SDK Location this way, you need to provide an NSLocationWhenInUseUsageDescription key in your plist file, describing why you need location access.

Always

To access NAO SDK Location this way, you need to ask the user for access to their location all the time. So you need to provide an NSLocationAlwaysUsageDescription key in your plist file, describing why you need constant location access.

What’s new in iOS11

If you only use “While Using” location access, nothing changes for you. If you use the “Always” access and not provide the “While Using” access, you will need to do it.

So when you build your app using the iOS 11 SDK, you are now required to provide an NSLocationWhenInUseUsageDescription key in all cases.

For “Always” access, you need to provide an additional key, which is called NSLocationAlwaysAndWhenInUseUsageDescription.

If you only provide NSLocationAlwaysAndWhenInUseUsageDescription but not NSLocationWhenInUseUsageDescription, asking for “Always” access will not work.

The key NSLocationAlwaysUsageDescription is still needed for backwards compatibility, in case you need to make the app available to iOS 10 users. For iOS 11 devices, this key is not needed.

Example of privacy-sensitive data rejection email for an app accessing the constant user’s location:

This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain both NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription keys with string values explaining to the user how the app uses this data

    • 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 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 ...
    • 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 ...