Testing with TestFlight

TestFlight is Apple's service and app for app developers to beta test their iOS apps. TestFlight is a powerful tool for app developers to evaluate their new apps or updates through beta testing with real users and identify potential issues.

To Test Flight with a Kuika account, you must first have Apple's Apple Developer account.

Within the Apple account, click on Identifiers.

Certificates, Identifiers & Profiles screen will open. Click the + icon next to Identifiers.

The Register a new Identifier screen will open. Select APP IDs. Then click Continue.

Then click on App.

The Register an App ID screen will open. Register an Apple ID creates an Apple ID (Apple ID).

Register an App ID screen comes with Description, Bundle ID fields.

  • Description: This field contains a short description or name of the app you created. The description contains text that specifies what the created App ID is about or what app it represents. For example, it could be a description like "Mobile Photo Editing App".

  • Bundle ID: Bundle ID is Apple's system of strict security controls. A Bundle ID represents a specific app created and distributed only by a specific developer or company. Each app must have a different Bundle ID. This is used as an authentication mechanism of the application. The Bundle ID must be chosen carefully to avoid a reverse effect and the same Bundle ID must not be used by another application. An example Bundle ID might look like this: com.example.myapp.

The Bundle ID is generated and used only once for each application.

After filling in the required fields, click Continue.

The generated App ID will be automatically added to the list. You should verify the App ID created with Confirm your App ID.

App Creation

This is done only once for each app via the AppStore Connect web page.

Click the + icon next to Apps. Click New App in the pop-up window.

To create a new application on the screen that opens, the following fields must be filled in.

  • Platforms: This field indicates for which platforms your application is created. For example, you can select platforms such as iOS or tvOS.

  • Name: Enter the name of your app here. This is the generic name of your app (this is how your app will appear in the app store. If you want to change the name, you should do this before publishing.

  • Primary Language: Select the language that will be used as the primary language supported by your app. This determines which language the app's user interface and text will be in.

  • Bundle ID: The Bundle ID is the unique identifier of your app. This identifier provides authentication and unique identification of your app. It is usually an identifier appended in reverse domain order (for example, "com.example.myapp").

The Bundle ID added to the app cannot be changed again.

  • SKU (Stock Keeping Unit): SKU is a unique ID or number of your product.

  • User Access: User access plays a decisive role in the privacy of the app and who can access it. In this area, you can make your app accessible to everyone or provide limited access for a specific beta test group or users.

After filling in the required fields in the application development process, click the Create button.

The screen where the application is created will open.

Actions to be done on the Platform for Test Flight

IOS Configuration

Click Configuration Manager view mode from Header in the application.

Name Configuration Manager as TestConfig and click on Create button.

Then click on the IOS tab. Activate the Support IOS UI switch.

Fill in the App Name, Bundle ID, Version fields in Mobile App Settings.

  • App Name: This is the name of the app visible to users. This name appears on the app icon and where it is listed in the app stores (for example, App Store or Google Play Store). Enter the name of your app in this field.

  • Bundle ID: Enter the Bundle ID to link to the app.

  • Version: Refers to the version number of the app. This number indicates which version of the app is available. Enter the version information of the app.

These settings are essential for the management and promotion of mobile apps. The app name helps users recognize and download your app, the Bundle ID identifies the app's unique ID, and the Version number tracks which version of the app is being used.

After entering the required fields, click ADD NEW from the drop-down menu in App Store Settings.

Fill in the information on the App Store Connect Api Setting screen in line with your application and click the Create button.

Then click on the rocket icon for Publish operations. Select TestFlight and iOS from the drop-down menu in the Choose Publish set and click the Publish button.

Apple may send warnings after compiling the application. You may need to take action via Testflight. You will be notified by email.

If the process was carried out correctly, a Successful email will be sent.

In case of Missing Compliance warning, click the Manage button next to Missing Compliance.

On the Export Compliance Information screen, select None of the algorithms mentioned above since no algorithm is used in Kuika and click the Save button.

After Save, you will receive a message that it was successful.

Then TestFlight must be installed on your device. It is enough to be installed once. Then click View in TestFlight. Your application will be ready for testing.

Possible Errors During Test Flight

When IOS fails to compile, and the following error will be displayed in your email inbox.

token for App Store Connect API [17:50:07]: Fetching profiles... [17:50:09]: Verifying certificates... [17:50:09]: [33mNo existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you [0m [17:50:09]: [17:50:09]: [33m========================================== [0m [17:50:09]: Could not find App ID with bundle identifier 'com.test_01.TestAppMaymuncuk' [17:50:09]: You can easily generate a new App ID on the Developer Portal using 'produce': [17:50:09]: [17:50:09]: [33mfastlane produce -u


Insecure world writable dir /Users/kuikateam/temp_alpha in PATH, mode 040757 [31m [!] Could not find App with App Identifier 'com.test.TestAppMaymuncuk' [0m /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin22/rbconfig.rb:21: warning: Insecure world writable dir /Users/kuikateam/temp_alpha in PATH, mode 040757

The reason for this error is that the application is not in the APP STORE. For this, the error is made in the Bundle ID field, which must be done 1 time for each application.

Using the application on test flight

  1. Test Flight must be downloaded into the IOS device.

  2. In order to use Test Flight, the Apple ID (e-mail address) that is logged into the application must be invited from the store. When the invitation is made, you must click on the link sent to your e-mail address and accept it.

  3. There are two types of test groups, Internal and External testing group.

  • An internal testing group is a test team consisting of a company's own employees. In-house developers and testers perform debugging and quality control from the early stages of the software or product.

  • An external testing group is made up of end users or independent testers from outside the company. This group is used to test publicly available versions of the product or software and evaluate real-world user experiences.

If the user you add is in the Internal Testing group, the person is authorized to see and update the application in Testflight when the application is installed in Testflight.Generally, Internal Testing Group is used for testing. It is necessary to create an External Test Group when needed. The process is operated in the same way.

When the version is released, the test application is activated (it shows in STATUS) within a while. Select which list will be valid for testing by clicking on the "+" icon. Wait until the status shown by the Store is confirmed. This time will vary from 1-2 hours to 1-2 days. Usually the Internal Testing list is approved more quickly than the External list.

  • Now your access to Testflight is complete and the people on the list you defined can use the app for testing.

Last updated