Apps built with ArcGIS Runtime API for Qt are self-contained. For example, deploying a Windows app does not add keys to the Windows registry. Deploying apps can be as simple as copying and pasting your app's executable files along with other dependent files to a different machine or device. Likewise, uninstalling can be as simple as deleting the files. The SDK lets you build and deploy self-contained, stand-alone apps or build and deploy capabilities into existing software.
Follow the steps below to ensure you have licensed the capabilities that your app uses and that you understand associated costs.
-
License the capabilities you included in the app. The License topic describes license levels and costs associated with deployment.
-
Attribute Esri in your app. For details, see the attribution section in the License topic.
-
Prepare your app:
- For Android, compile your app, and then use the
androiddeployqt
deployment tool provided by the Qt Company to create an Application Package (APK) or Android App Bundle (AAB). Consult the Google Play store documentation for details about publishing your app on their platform. - For iOS, build your Qt project, open the output
.xcodeproj
file in Xcode, and create an.ipa
by archiving your app. Note that apps can be distributed either through the Apple developer enterprise program or by submitting your app to the App Store. - For macOS, compile your app, and use the Mac deployment tool provided by the Qt Company. This tool bundles the dependencies into an application bundle.
- For Linux, compile your app. Place the executable and any associated resources such as packages, data, or client files, inside a folder you intend to use as a deployment folder. You can get details from the article Linux deployment on the Qt Company's website.
- For Windows, build your Qt project. , and use the Windows deployment tool provided by the Qt company. This tool creates a deployable folder containing all the dependencies needed to run the app.
- For Linux and Windows, if you are using Local Server, use the Local Server Deployment Builder tool that was installed on your development machine with Local Server.
- If your application uses ArcGIS Runtime Local Server to create local map services and the input map files use third-party fonts, you must make sure those third-party fonts are installed on each client machine where your application will run.
- For Android, compile your app, and then use the
-
The deployment folder now contains everything you need to deploy your app. To distribute and deploy your app, copy and paste the deployment folder onto each of your end-user's machines or devices. Each deployment folder can be self-contained and consists of the following:
- Your app executable
- Supporting platform and framework libraries required by your app
- Runtime components and libraries
- Supporting files, such as data for local use
-
Test the app by running it from this location.
Apple privacy manifest
App Store requirements dictate that all applications must include a privacy manifest starting May 1, 2024. Importantly, third-party SDKs used in the app (such as ArcGIS Maps SDK for Qt) must also provide a privacy manifest. Starting with version 200.4, Esri delivers a PrivacyInfo.xcprivacy file in the Qt macOS setup at the following location: ArcGIS_SDKs/Qt100.15.5/sdk/iOS/PrivacyInfo.xcprivacy.
Once installed, there are additional required steps you must take to add the privacy manifest to your application, as it will not be picked up automatically.
Starting from Qt Creator, run qmake or CMake on your application and open the generated Xcode project in Xcode 15 or later. Once the project is opened in Xcode, drag and drop the PrivacyInfo.xcprivacy into the project, as shown below:
Then, take the default options, as shown below:
Note that you need to provide a privacy manifest for any other third-party SDKs in your application, including the Qt framework itself.
At this point, you can continue with the typical App Store submission process.
Deploying to the Apple AppStore using MFi Accessories
The Apple AppStore has guidelines and restrictions for apps that communicate with MFi accessories (for example an external GPS receiver). Apps that use NMEA data need to satisfy the Apple requirements to be accepted in the store. Apps need to declare support via PPID in their submission and the MFi provider needs to list the bundle ID so Apple can cross-reference it. For more information see Apple's MFi Program site.