App Submission Guidelines

This section explains a few guidelines to be followed while submitting an application.

iOS 11

The following are the guidelines for submitting an iOS application with XCode 9:

  • It is mandatory to provide 'Asset Catalog' resource for iOS applications
  • Go to Target -> General -> App Icons and Launch Images -> Click on User Asset Catalog -> Migrate
  • Ensure that all the resolutions of the App Icons are provided in the Asset catalog
  • In the info.plist file, add CFBundleIconName with values set as AppIcon that is created in the assets resource.

iOS 10

In Xcode 8, Apple introduced a new privacy feature to access hardware resources (like camera, gallery, and contacts). To avoid compliance issues, you must ensure that the required settings are included while building iOS applications using Xcode 8.

According to iOS 10 mandate, It is necessary to add descriptions for the features that are related to user privacy. You need to add descriptions for the features (that are provided in the below procedure) even if the app does not use the features. Quantum Visualizer Enterprise integrates the required settings as a part of iOS applications if you follow the steps provided below.

Before building an iOS application, do the following:

  1. Create a JSON file.
  2. Add the below strings to the JSON file.
    {
    "NSCalendarsUsageDescription" : "<description>",
    "NSCameraUsageDescription" : "<description>",
    "NSPhotoLibraryUsageDescription" : "<description>"
    }

    IMPORTANT: If you use other framework, you need to update the JSON file with appropriate keys. For more information, refer to Information Property List Key Reference.

  3. Save the JSON file as infoplist_configuration.json.
  4. Add the infoplist_configuration.json file to /resources/mobile/native/iphone in your project.

Now, Quantum Visualizer Enterprise ensures that the required settings are packaged and added to the info.plist file in your Xcode project.

If the iOS application uses protected mode, ensure that you download and use the iOS 10 compatible Finalizer Utility for Xcode 8.

Common Issues with App Submission to the App Store

This section provides information on common issues encountered when users submit an app to the App Store, and how to resolve those issues.

Missing Signatures

In an app that uses a privacy-impacting SDK, the Apple App Store submission of the app fails due to the SDK not having the necessary signatures.

Consider a scenario where you are using a third-party framework (such as the FMDB framework) or component (such as the Lottie component) in your app. Based on the third-party entity that you use, you will receive one of the following messages from the Apple Review Submission Board:

  • App uses FMDB Framework:

    Your app includes “Frameworks/FMDB.framework/FMDB”, which includes FMDB, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. If a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a signature file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a signature. For details about verifying the code signature for a third-party SDK, visit: https://developer.apple.com/documentation/xcode/verifying-the-origin-of-your-xcframeworks.

  • App uses Lottie Component:

    Your app includes “Frameworks/Lottie.framework/Lottie”, which includes Lottie, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. If a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a signature file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a signature. For details about verifying the code signature for a third-party SDK, visit: https://developer.apple.com/documentation/xcode/verifying-the-origin-of-your-xcframeworks.

To solve this issue, ensure that you use the latest framework SDK that includes a signature file, as mandated by Apple, starting May 1, 2024. If your app uses third-party SDKs such as XCFrameworks, Swift packages, or Xcode projects, the app must contain a privacy manifest file, named PrivacyInfo.xcprivacy. Ensure that you upgrade to Quantum Visualizer version V9 ServicePack7 Fixpack 34, which includes the required signatures added to the framework.

Missing Privacy Manifests

In an app that uses a privacy-impacting SDK, the Apple App Store submission of the app fails due to the SDK not having the Privacy Manifest file.

Consider a scenario where you are using a third-party framework (such as the FMDB framework) or component (such as the Lottie component) in your app. Based on the third-party entity that you use, you will receive one of the following messages from the Apple Review Submission Board:

  • App uses FMDB Framework:

    Your app includes “Frameworks/FMDB.framework/FMDB”, which includes FMDB, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. Starting February 12, 2025, if a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.

  • App uses Lottie Component:

    Your app includes “Frameworks/Lottie.framework/Lottie”, which includes Lottie, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. Starting February 12, 2025, if a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.

To solve this issue, ensure that you use the latest frameworks with added privacy manifest files. Ensure that you upgrade to Quantum Visualizer version V9 ServicePack7 Fixpack 34, which includes the required Privacy Manifest files added to the framework.

NOTE: Ensure that you delete the older NFIs after upgrading Visualizer.

Minimum Functionality

In an app that uses the ARKit framework, if the AR functionality is not utilized for a robust Augmented Reality experience, you receive the following message from the Apple Review Submission Board:

We noticed that the usefulness of your augmented reality app is limited by the minimal features or content it includes.

Apps that use the ARKit Framework must provide rich and integrated Augmented Reality experiences. Merely adding a model into an AR view or replaying an animation does not necessitate the use of the ARKit framework. Temenos recommends that you review the concept of your app and include more robust AR features and functionality.

To solve this issue, ensure that you do not use the ARKit framework if you do not require AR functionality in your app. Delete or unlink the ARKit entry form the linked framework or libraries, and then test the app completely, before submitting it to the App Store. If you require the ARKit framework in your app, ensure that you reply to Apple Review Submission with the reason for adding the ARKit functionality in the app.

App Completeness

When an app that has unresolved issues is submitted to the App Store, you receive the following message from the Apple Review Submission Board:

The app exhibited one or more bugs that would negatively impact App Store users.
Bug description: the app continued to encounter multiple errors when navigating through the app
Review device details:
- Device type: iPad Air (5th generation)
- OS version: iPadOS 18.3

To solve this issue, ensure that you test the app on all supported devices, and resolve any bugs and stability issues before submitting the app to the App Store.

If you have designed the app only for iPhones, reply to the Apple Review Submission Board specifying that the app has been designed and developed only for the iPhone channel, not for iPads. Ensure to specify that you have tested the app completely on the iPhone channel, and that it is working as expected.

Design Issues

When an app that has been developed for a specific screen resolution is submitted to the App Store, you receive the following message from the Apple Review Submission Board:

We noticed an issue in your app that contributes to a lower-quality user experience than App Store users expect:
- Your app was not optimized to support the device screen size or resolution.
Since App Store users expect apps to be simple, refined, and easy to use, we want to call your attention to this design issue so you can make the appropriate changes.

To solve this issue, ensure that you test the app on all supported devices before submitting the app to the App Store. If you receive any UI specification request from Apple, send a reply requesting them to specify the screen resolutions in which the UI is distorted.

If you have designed the app only for iPhones, reply to the Apple Review Submission Board specifying that the app has been designed and developed only for the iPhone channel, not for iPads. Ensure to specify that you have tested the app completely on the iPhone channel, and that it is working as expected.

Software Requirements

In an app that uses a third-party framework, if the framework uses any non-public or deprecated APIs, you will receive the following message from the Apple Review Submission Board:

The app uses or references the following non-public or deprecated APIs:
Frameworks/SQLCipher.framework/SQLCipher Symbols:
  • _sqlite3_load_extension
  • _sqlite3_activate_see
  • _sqlite3_rekey_v2
  • _sqlite3_key_v2
The use of non-public or deprecated APIs is not permitted, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms.

To solve this issue, ensure that you use the latest frameworks or request the third-party vendor to provide the framework without the symbols. Ensure that you upgrade to Quantum Visualizer version V9 ServicePack7 Fixpack 34, which includes the required updates to the framework.