App Submission Requirements
This section contains important information on how to prepare your HERE iOS SDK-enabled app for App Store submission. Be sure to follow the advice here to avoid store rejections caused by the HERE SDK.
Remove Simulator Architectures
Apple rejects apps that are submitted to the App Store with simulator-specific architectures (
i386). Similarly, Xcode also gives an error if you try to export these apps for other types of deployment. Prior to exporting your app, you must strip simulator-specific architectures from the
NMAKit framework binary and rebuild your app.
A script is provided with the HERE SDK to strip the simulator architectures from the
NMAKit library. Before you build your app to upload to the store, make a copy of
NMAKit.framework and run the script to create a framework that only contains ARM device architectures (
armv7). This modified version of the framework should be included in any builds destined for the app store.
To run the script, open a terminal and go to the directory containing the script and execute it from there.
You can also add a script as part of your Xcode build process to automatically strip unnecessary architectures from frameworks. Depending on your build environment, this may work better than managing separate versions of
NMAKit.framework. For more details about this solution, see this article on Stack Overflow.
Declare Private Data Access
Starting with iOS 10, you must statically declare access to private user data, such as address book and device location, before submitting your app to the App Store. Each declaration requires adding a key and a purpose string in your app's
The following shows the required HERE iOS SDK data access declarations. You can use the recommended
<string> entries in your app's
Info.plist, or you can choose strings that are appropriate to your app.
<key>NSLocationWhenInUseUsageDescription</key> <string>This is needed to determine your current location</string>
You can find more information about these keys in the following article: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html.