Skip to main content

Topic: game ios app

Commands in the game ios app topic are prefixed shipthis game ios app. They relate to the App Store App and BundleId for a specific game (generally in the current directory).

info

An App Store App is the public-facing application available in the App Store. It includes metadata like descriptions, screenshots, and submission details, representing the final product users download.

A Bundle ID is a unique identifier for your app within Apple’s ecosystem. It connects your app to services, certificates, and provisioning profiles, ensuring it can be built, run, and managed correctly.

You can view the registered Bundle IDs (Identifiers) and their associated capabilities in the Apple Developer Portal.

tip

You will need to be authenticated against ShipThis and Apple before you can use these commands. To do that please run the following commands first:

Commands

game ios app addTester

Description

Adds a test user to the game in App Store Connect.

Help Output

USAGE
$ shipthis game ios app addTester [-e <value>] [-f <value>] [-g <value>] [-l <value>] [-q] [-s] [-t <value>]
FLAGS
-e, --email=<value> The email address of the tester
-f, --firstName=<value> The first name of the tester
-g, --gameId=<value> The ID of the game
-l, --lastName=<value> The last name of the tester
-q, --quiet Avoid output except for interactions and errors
-s, --self Add yourself as a tester (uses your Apple ID email and name)
-t, --testGroupName=<value> [default: ShipThis Test Group (Internal)] The name of the internal test group
DESCRIPTION
Adds a test user to the game in App Store Connect.
EXAMPLES
$ shipthis game ios app addTester
$ shipthis game ios app addTester --testGroupName "Testers"

game ios app create

Description

Creates an App and BundleId in the Apple Developer Portal. This command is run as part of the shipthis game wizard command.

When run, this command will register a new App Store App and BundleId using the App Store Connect API. It will ask you to confirm the name of the App and the BundleId string which is typically in the form of com.mycompany.mygame. Both of these need to be unique within the Apple ecosystem. ShipThis will suggest values for these.

Example

asciicast

Help Output

USAGE
$ shipthis game ios app create [-n <value>] [-b <value>] [-f] [-g <value>] [-q]
FLAGS
-b, --bundleId=<value> The BundleId in the Apple Developer Portal
-f, --force
-g, --gameId=<value> The ID of the game
-n, --appName=<value> The name of the App in the Apple Developer Portal
-q, --quiet Avoid output except for interactions and errors
DESCRIPTION
Creates an App and BundleId in the Apple Developer Portal.
EXAMPLES
$ shipthis game ios app create

game ios app status

Description

Shows the Game iOS App status. The output will tell you if you need to run the create command or sync command.

  • If the App does not exist in the Apple Developer Portal then you should run the shipthis game ios app create command
  • If you have updated your export_presets.cfg file with new capabilities then you should run the shipthis game ios app sync command.

Example

asciicast

Help Output

USAGE
$ shipthis game ios app status [-g <value>]
FLAGS
-g, --gameId=<value> The ID of the game
DESCRIPTION
Shows the Game iOS App status.
EXAMPLES
$ shipthis game ios app status

game ios app sync

Description

Synchronizes the Apple App Bundle ID with the capabilities defined in your Godot iOS export preset.

This command reads your export_presets.cfg (iOS preset) and enables or disables the corresponding capabilities on the Bundle ID in the Apple Developer Portal.

Godot options that are synced

Godot optionSynced asNotes
capabilities/access_wifiAccess WiFi
entitlements/increased_memory_limitIncreased Memory Limit
entitlements/game_centerGame Center
entitlements/push_notificationsPush NotificationsProduction or Development; or legacy capabilities/push_notifications (true). Sets aps-environment / APNS.
entitlements/additionalEntitlements (parsed)Known entitlement keys (e.g. com.apple.developer.applesignin for Sign in with Apple) are synced. Unknown keys remain in your app’s entitlements only.

Not synced: Other export options (e.g. capabilities/additional, capabilities/performance_gaming_tier) only affect the exported app; they are not synced to the Bundle ID.

tip

You do not need to have an export_presets.cfg file in your game directory. ShipThis will use default values for this file if it does not exist.

Help Output

USAGE
$ shipthis game ios app sync [-f] [-g <value>] [-q]
FLAGS
-f, --force
-g, --gameId=<value> The ID of the game
-q, --quiet Avoid output except for interactions and errors
DESCRIPTION
Synchronizes the Apple App "BundleId" with the capabilities from the local project.
EXAMPLES
$ shipthis game ios app sync