We have been trying to automate our build and deployment process. We are creating the ad-hoc builds by using the Fastlane Gym utility. Here is the gymFile:
scheme "NP"
xcargs "PROVISIONING_PROFILE_SPECIFIER='our_adHoc_profile'"
output_directory "../"
export_options(
method: "ad-hoc",
)
The IPA's we created this way were distributed and tested using TestFairy so we know they are OK.
We have been trying different ways to upload these builds to TestFlight. We use TestFlight for internal testing only. We don't need external / Beta testing.
One way was by simply doing:
fastlane pilot upload -u our@iTunesAccount
The second way was by using the pilot utility with the following FastFile:
lane :uploadTestFlight do
pilot(
skip_submission: false,
distribute_external: false
)
end
The third way was by using the Nomad client utility:
ipa distribute:itunesconnect -a our@iTunesAccount -p [password] -i [app id] --upload
In all 3 methods, the results were the same: The build shows up under the "Activity" tab but is missing under the "TestFlight" tab. That is, we don't see it in the section entitled "The following builds are available to test" along with the previous builds.
When using Pilot, after the upload completes we see the following output:
Waiting for iTunes Connect to finish processing the new build (5.7.0 - 5.7.0.43)
Waiting for iTunes Connect to finish processing the new build (5.7.0 - 5.7.0.43)
Build doesn't show up in the build list any more, waiting for it to appear again
Does anybody know why this happens?
Solution found. TestFlight can be automated using the following commands:
fastlane gym
fastlane deliver --skip_screenshots --skip_metadata --skip_app_version_update
The gymfile is:
scheme "[scheme name]"
xcargs "PROVISIONING_PROFILE_SPECIFIER='[Appstore profile name]'"
export_options(
method: "app-store",
uploadBitcode: true,
uploadSymbols: true,
stripSwiftSymbols: true,
provisioningProfiles: {"[bundle name]" => "[Appstore profile name]"}
)
This uploads a build to AppStore and once it's done processing, TestFlight is automatically sent.