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); however, if your app uses NAO SDK when it is in background, you need to make some changes (Apple has done some change on location permissions).
In iOS 12 and earlier
Previously, to use NAOSDK in background, our SDK requests an “Always” authorization that the user can choose from the start of the application.
What’s new in iOS13
With iOS 13, “Always” authorization is not offered to the user when the application starts, which can make some use case, such, background geo-notification , as non-functional. In this case, we advise for applications that integrate background use cases to offer the user a message that explains the need for this authorization and redirect it to the settings of the application , and user can make the change directly.
NSBluetoothAlwaysUsageDescription
When you build your app using the iOS 13 SDK, you are now required to provide a new key permission “NSBluetoothAlwaysUsageDescription” for Corebluetooth.framework usage.
User Location Authorization: that’s how we advise permissions management in the app
Example with a message that explains the need for always permission to receive proximity alerts for some deals

Activate “Always” from settings

Default case

Alert For Background Tracking
Apple has introduced a privacy feature for users.
- iOS 13 now warns users for apps that continue tracking users’ location data.
The popup provides two options to users.
- A user can either select “Keep Only While Using” to allow the app to track required data only when in use.
- Or, they can choose “Change to Always Allow” to let the app continues its activity in the background if the users find it necessary.
