- Qt 6.9
- Registering Products in App Store
- Qt 6.9.3 Reference Documentation

# Registering Products in App Store

To take advantage of in-app purchasing functionality on iOS, register your application and all the available products in App Store Connect. This guide provides a brief introduction on how to register an application and it's in-app products on App Store.

In-App purchasing can only be tested on the actual hardware for the iOS platform. For more information refer to the iOS documentation.

## Register a unique app ID

One of the requirements to support in-app purchases on iOS is to have a registered unique App ID. This means that it is not possible to use an App ID that contains a wildcard character. You can check the existing App IDs and create new ones from the Apple Developer Certificate, Identifiers, and Profiles manager.

In the Identifiers tab of the Developer Certificate, Identifiers, and Profiles manager, click the + button to create a New App ID. This will open up the page to register a new iOS App ID.

Give your App a relevant ID description and prefix. Your App ID Suffix should be an Explicit App ID type. Enter a unique App ID in the Bundle ID field. It is recommended to use the com.mycompany.myappname convention for App ID. Where, the "com.mycompany" is the Internet domain name of the publisher.

In the App Services area make sure that the In-App Purchases is checked. Click continue your to complete the App ID registration.

## Create a provisioning profile

To be able to use your new App ID, generate a new provision profile that includes the new ID to sign and run your app. Provisioning Profiles are also managed through the Apple Developer Certificate, Identifiers, and Profiles manager.

Navigate to the Provisioning Profiles tab of the manager and click the + button to create a new Provisioning Profile. Make sure that the iOS App Development is selected and click the Continue button.

You are now given an option to choose the App ID to use for this profile, which will be the unique App ID you created in the previous section. Once again make sure that the App ID does not contain any wildcard characters (“*”) as it is not be possible to use the In-App Purchasing service with such an App ID.

On the next page you will need to select the certificates that will be distributed with your Provisioning Profile. You would have needed to uploaded a certificate on your local development machine to the Apple Developer Certificate, Identifiers, and Profiles manager previously. Generally you will want to add any certificates of the members of your team who will need to build your App.

On the next page you will need to select the devices you will be developing and testing your app on. You must register your devices to the Apple Developer Certificate, Identifiers, and Profiles manager previously. The devices you select here are the only ones capable of running apps signed against this provisioning profile, so select all the devices you intend use during the development and testing phase.

Give your Provisioning Profile a descriptive display name, and click Generate to create the actual profile. When this process is completed you’ll be given a choice to download the Provisioning Profile.

Open the downloaded file in XCode to install. Now the next time you plug in one of the registered devices, your Provisioning Profile should be installed to it automatically.

## Register your application

Before you can register new products available to the in-app purchasing service, you need to register your application in App Store Connect. App Store Connect is the place where you register an app when you want to submit it to the Apple iOS App Store.

Start by going to App Store Connect and logging in. Once logged in open the My Apps link that will take you to Apps page. If you have already registered your app here, you can skip the registration step, otherwise click the plus button and select New App in the top left corner of the page.

Select iOS App and then proceed to fill out the required information on the next page. When you get to the Bundle ID section select the unique App ID we created in the previous steps.

It is likely at this point that you do not have all the necessary details to complete the information required to register your app. For now, just fill out the forms with stub data as everything except the SKU and Version fields are editable later.

## Archive and uploading application

When you build application for iOs device Qt Creator creates XCode project that will be used for uploading your application to the App Store. Open the XCode project and go to `signing and Capabilities` from your project properties and make sure that the Apple ID is selected what you use on App Store Connect. Make Sure that the `Bundle Identifier` is the same as that you created on the Developer Certificate, Identifiers, and Profiles page.

Next select `Set the active scheme` from the top bar of the XCode window and select `Generic iOS Device`. Afte that select `Product` on the menu bar and click `Archive`. On the pop-up window select `Distribute App` go through the wizard and the build will show up to the App Store Connect.

## Setting up application testing

From the App Store Connect select your application and go to TestFlight page. You should see at least one build of your application in the page. there are two type of testing groups internal and external. In internal testing group you can select developer who has access to your application on the App Store Connect. In external group you can share your application with public link or you can invite specific people to test your application.

## Register the products

Once your app is registered in App Store Connect you will have additional options available to manage that App. In the Apps page of App Sotre Connect, click the icon representing your app to manage its details. Within this menu you can select the Manage In-App Purchases from list on the right to register in-app products you wish to offer.

To register a new product, click the Plus icon button in the right of the "In-App Purchase" header. The first choice you will be given is the type of in-app purchase you would like to create.

On the next page, you must fill out the details about your product. The Reference Name field refers to how the product will be displayed in App Store Connect and in sales reports, but not in the App Store itself. The Product ID field is very important as it is the unique ID that will be used to query for the product from your app itself. If possible make this the same ID as the corresponding products in the other platform’s stores, otherwise you will have to conditional logic in your app for each platform when specifying product identifiers.

Select the pricing and availability details for you product next. For the iOS App Store, pricing is set via a tier system. Each tier represents a price level in each iOS App Store region. Your end users will be given the actual price expected for a product in terms of what region their App Store is in.

In the next section In-App Purchase Details you specify the details for at least one language. When the app requests the product details like `title` and `description`, they will be provided in the language of their locale if they are available. Create language details for the regions you expect to distribute app in.

Finally, you will need to attach a screenshot that will be used for review purposes. This again can be a stub for now, but your product will need to pass the review before it can go live to be sold in your published app. Click save to complete the product registration.