Testing with TestFlight

TestFlight is a service and application that Apple provides to app developers that they can use to beta test their iOS apps. TestFlight is a powerful tool for app developers to evaluate their new apps or updates with beta tests for real users and identify potential issues.

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

Within the Apple account, click Identifiers.

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

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

Then click App.

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 brief 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, a description might be something like ‘Mobile Photo Editing App’.
  • Bundle ID: Bundle ID is a system that Apple subjects to strict security controls. A Bundle ID represents a specific application created and distributed only by a specific developer or company. Each application 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.

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

After the required fields are filled in, click Continue button.

The created App ID will be automatically added to the list. You must 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 on 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 specifies for which platforms your app is built. For example, you can select platforms such as iOS or tvOS.
  • Name: Enter the name of your app here. This name is the generic name of your app. (Your app will appear with this name in the app store. If you want to change the name, you should do this before going live.
  • 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 application. This identifier provides authentication and unique identification of your application. It is usually an identifier appended in reverse domain name order (for example, ‘com.example.myapp’).

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

  • SKU (Stok Keeping Unit): SKU is a unique ID or number for your product.
  • User Access: User access plays a decisive role in the privacy of the application and who can access the application. In this area, you can make your application 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.

Operations to be Performed on the Platform for Test Flight

IOS Configuration

Click Configuration Manager view mode from Header in the application.

Name the Configuration Manager as TestConfig and click the Create button.

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

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

  • App Name: The name of the app as seen by users. This name appears on the app icon and where it is listed in the app stores (for example, the 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: The version number of the app. This number indicates which version of the app is available. Enter the version information of the application.

These settings are essential for the management and promotion of mobile apps. The app name helps users recognise 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 app. You may need to take action via Testflight. You will be notified by email.

If the process has proceeded correctly, a Successful e-mail 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, a message will appear 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 to your e-mail address and accept it.
  3. There are two types of test groups, Internal and External testing group.
  • The 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.
  • The external testing group consists of external, end users or independent test teams. Anyone with a public link can access it. This group is used to test publicly available versions of the product or software and to evaluate real-world user experiences.

If the user you add is in the Internal Testing group, the person is authorised to see and update the application in Testflight when the application is installed in Testflight. 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 commissioning of the test application (shows in STATUS) takes place 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.

  • You now have complete access to Testflight and the application is available for testing to the list of people you have defined.