You are here: Building and Viewing an Application > Build an iOS Application

Build an iOS Application

Once you have created and configured an app’s assets, resources, and services, you compile and link them by building your app.

Prerequisites

This topic covers the following topics:

About App Transport Security (ATS)

Automatically Modify info.plist with Custom Key Value Pairs

Automatically Add Required System Frameworks to the XCode Project

Build an App

Exclude an app from iCloud backup

About App Transport Security (ATS)

As of January 2017, Apple Corp. requires that all iOS apps make use of App Transport Security (ATS), which implements the https protocol when communicating with internet resources. Introduced in iOS 9, ATS enforces secure connections between internet resources (such as the backend server) and an iOS app, ensuring that internet communications via the iOS platform conform secure connection best practices. Doing so lessens the likelihood of accidentally disclosing sensitive information either directly through an app or through a library consuming data.

Quantum Visualizer supports ATS and assumes that 1) your iOS applications make use of https, and 2) your communication through higher-level APIs is encrypted using TLS version 1.2 with forward secrecy. As a workaround to this requirement, if your app needs to make a request to an insecure domain, you have to specify this domain in your app's info.plist file. For more information, see the Apple Developer site.

Automatically Modify info.plist with Custom Key Value Pairs

When you build an app for the iOS platform in Quantum Visualizer, Xcode generates a build properties file called info.plist. By modifying this file, you can customize the properties of the build, which are reflected in the app the next time you build it. Modifications to info.plist take priority over whatever properties are set by Quantum Visualizer.

If your app requires that the info.plist file be configured with sets of key value pairs of native SDK or custom-defined entries, you can automate this customization using a json file. The json file contains the key value pairs that you want added to info.plist, and during the building of the app, this json file is incorporated into the kar file. When the kar file is extracted, iOS incorporates the key value pairs in the json fie into info.plist.

To automatically modify info.plist with custom key value pairs, do the following:

  1. Create a json file with the following file name:
    infoplist_configuration.json
  2. Place the json file in the following Quantum Visualizer project folder:
    <WorkspaceName>\<ProjectName>\resources\common
  3. Edit the json file, adding the key value pairs that you want automatically incorporated into the info.plist file. Save the file and close it.
  4. In Quantum Visualizer, build the app.
  5. The json file is incorporated into the kar file. When the kar file is extracted, iOS incorporates the key value pairs in the json fie into info.plist.

Automatically Add Required System Frameworks to the XCode Project

When you use FFIs with Quantum Visualizer, if the FFI has dependencies on any system frameworks, you can add those system frameworks to your XCode project. You can do so by configuring a kony_frameworks.json file.

To add system frameworks to the XCode project, do the following:

  1. Navigate to the common folder in your Quantum Visualizer project. For example, <Workspace Name>/<Project Name>/resources/common
  2. In the folder, create a JSON file and name it kony_frameworks.json.
  3. Open the JSON file in any text editor.
  4. Add a JSON object with the key as systemframeworks and value as an array containing all the system frameworks that are dependencies for FFI’s. For example,
    {
    "systemframeworks" : ["AVFoundation", ”Security”, ”LocalAuthentication”]
    }
  5. In Quantum Visualizer, build the app.
    The JSON file is incorporated into the KAR file. When the KAR file is extracted, system frameworks provided in the JSON is added to the XCode project.

Build an App

To build an app with new or different settings, do the following:

  1. On the Build menu, click Build and Publish Native.
  2. In the Build Generation dialog box, select the channels and platforms for which you want to build your app. For example, you may want to build a native type of app for Mobile (phone) devices and Tablet devices for the iOS and Android platforms. For more information about native and SPA apps, see Types of Applications.
  3. Select the build mode, either debug or release.
  4. Click Build.

Important: If you want to build your iOS app with multiple workspaces, you must select the Support Multiple iOS Workspaces from the Build section (Edit > Preferences > Build). If this option is not checked, the workspace is replaced for every build. When this option is checked, a separate workspace is created for each application. It will reduce the time and effort required for building applications every time you switch from one application to another.

 

Exclude an app from iCloud backup

If you want to exclude your application from the iCloud backup, you can configure the fileExcludeFromBackup Boolean value in the info.plist file.

To exclude the app from the backup, do the following:

  1. In Xcode, open the project you want to exclude from backup.
  2. From the KonyJS folder, open info.plist.
  3. Add a new key fileExcludeFromBackup
  4. Set the type of the key to Boolean
    The default value for this property is No.
  5. Configure the value to Yes.
    The application will be excluded from iCloud backups.

 

Copyright © 2020 Temenos. All rights reserved.