Builds
There are three build configurations.
Debug builds
Debug builds are created in Xcode by developers.
How to run a debug build on device
-
Environment setup - follow this well-written and maintained manual:
-
From Terminal in the project folder:
-
install necessary ruby tools:
bundle install -
download development certificate and provisioning profiles:
you may be asked to provide match password, please usebundle exec fastlane provisioningFastlane Match passwordentry from Futured's Bitwarden
-
-
Build using Xcode, select your device in run destinations
Haven't you registered your iOS device yet? Follow these instructions.
Adding to list of devices
Get your device's UDID
- Connect your device to Mac and unlock it
-
Open Finder
- Select your device in Locations
- In detail, click the grey metadata under your device name until you see UDID section
Register your device
To be able to run a debug build on your device you need to add it to the company's private fastlane repository. Update file device-list.txt file. See closed PRs for inspiration or follow these steps:
Each device has to have three columns separated by tabs.
- Device UDID
- Descriptive name of the device
- Operation system
UDID Owner - Device model ios/mac
Regenerating the profiles for new devices
Project profiles won't regenerate automatically after adding a new device. To regenerate the profiles, follow these steps:
- Retrieve the ops Apple ID password from Bitwarden
- Ask someone with ops access to provide you with an authentication code
-
In the project directory, call the following command from Terminal:
MATCH_FORCE=true bundle exec fastlane update_provisioningIf
MATCH_FORCEenvironment variable is not provided the profiles are updated only when invalid.
Beta builds
Beta builds are mainly used by our QA team. There's possibility to add beta build to external testing and share it via link or email invitation if needed (see attached screenshot). External beta build has to go through app review. It can take longer for the first build or after some longer period without uploading a new build but it's usually approved immediately. Always send tested builds to external testing!
Although it is possible to invite external users to Futured's App Store Connect and add them to internal testing we prefer external testing for the following reasons:
- internal builds are automatically submited with merged pull request => these builds should be tested first which cannot be guaranteed in internal testing
- security concerns
Production builds
Production builds can be either distributed via Futured's or customer's App Store Connect account. It is also possible to set up ASC account later and migrate the app (see docs) but we strongly recommend to make a decesion before releasing the first version.
First submission requirements
See the First Submission Requirements for a complete list of requirements for the first App Store submission.


