I created an iOS test flight build using Fastlane, and I got this strange error, not sure why because it was working fine yesterday and now without any change in Fastlane configuration it gives me an error while uploading the build to the Apple App store.
errors wordings are as below
[21:50:01]: Transporter transfer failed.
[21:50:01]:
[21:50:01]: Cannot obtain the content provider public id. Please specify a provider short name using the -asc_provider option.
[21:50:02]: Cannot obtain the content provider public id. Please specify a provider short name using the -asc_provider option.
Return status of iTunes Transporter was 1: Cannot obtain the content provider public id. Please specify a provider short name using the -asc_provider option.
The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.
[21:50:02]: Error uploading ipa file:
[21:50:02]: fastlane finished with errors
[!] Error uploading ipa file:
7
Answers
Please add the
itc_provider
along with theapple_id
on the below line of code.If you are on multiple App Store Connect teams, deliver needs a provider short name to know where to upload your binary. deliver will try to use the long name of the selected team to detect the provider short name. To override the detected value with an explicit one, use the itc_provider option.
I had the same.
This comment from github helped me.
For those who are suffering with this on Azure Devops’s
AppStoreRelease
task. Using @user20291554 solution it can be fixed as followsIm using the
fastlane deliver
to upload my appsThe solution for me was:
Add new tag/flag for command
fastlane deliver
Example:
fastlane deliver --username [email protected]
….And new tag added was
--itc-provider my_team_id
You can found your team_id here: page
So, the command at the end was:
fastlane deliver --verbose --ipa xxx --username xxx --app_identifier xxx --itc_provider team_id
xxx => corresponds about your project
team_id => corresponds about Team ID, that you can get on page above
This is how I solved it!
To get itc_provider run command
/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/bin/iTMSTransporter -m provider -u ‘[email protected]’ -p ‘xxxx-xxxx-xxxx-xxxx’ -account_type itunes_connect -v off
where
[email protected] your appleid
xxxx-xxxx-xxxx-xxxx – password for your app
How to generate an app-specific password
For me adding the environment variable works perfectly:
For my case, here is an example of Azure DevOps pipelines:
Source Fastlane GitHub issue