Reputation: 2006
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:
Upvotes: 31
Views: 7552
Reputation: 93
For me adding the environment variable works perfectly:
ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD: true
For my case, here is an example of Azure DevOps pipelines:
- task: AppStoreRelease@1
env:
ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD: true
...
Source Fastlane GitHub issue
Upvotes: 7
Reputation: 81
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
Upvotes: 6
Reputation: 7523
Please add the itc_provider
along with the apple_id
on the below line of code.
upload_to_testflight(
skip_waiting_for_build_processing: true,
apple_id: "APPLE_ID",
itc_provider:"ID" #example: W4A0P2BYMN
)
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.
Upvotes: 10
Reputation: 61
This is how I solved it!
deliver(
app_identifier: '{{YOUR_APP_ID}}',
submit_for_review: false,
skip_screenshots: true,
force: true,
itc_provider: "{{YOUR_TEAM_ID}}" // <- added!
)
Upvotes: 6
Reputation: 21
Im using the fastlane deliver
to upload my apps
The 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
Upvotes: 1
Reputation: 41220
For those who are suffering with this on Azure Devops's AppStoreRelease
task. Using @user20291554 solution it can be fixed as follows
- job: ios
pool:
vmImage: macOS-latest
variables:
DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS: "-asc_provider <your team ID or short name if different>"
steps:
...
- task: AppStoreRelease@1
inputs:
...
Upvotes: 16
Reputation: 71
I had the same.
This comment from github helped me.
Add ENV variable to your deployment (or local machine 🥇, or Fastfile directly) With DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS we can add the "missing" -asc_provider variable.
ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-asc_provider YourShortName" Just deployed and it works for those who can't wait.
Upvotes: 7