zeplin / fastlane-plugin-notarize

fastlane plugin to notarize a macOS app 🛂
MIT License
68 stars 8 forks source link

ITC_Provider error when multiple providers are associated with apple account. #10

Closed aksswami closed 5 years ago

aksswami commented 5 years ago

When I was trying to use the tool, I got error status 61. To debug, I directly used the altool notarization command and got this error.

Your Apple ID account is attached to other iTunes providers. You will need to specify which provider you intend to submit content to by using the -itc_provider command. Please contact us if you have questions or need help.

So in this case I have to specify my -itc_provider in altool command.

I got this value from this /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u XXX -p XXX

We have to supply ShortName to the --asc_provider value in the altool command like this.

xcrun altool --notarize-app -t osx -f <ZIP_NAME> --primary-bundle-id "<BUNDLE_ID>" -u "<APPLE_ACCOUNT>" --asc-provider "<PROVIDER_SHORT_NAME>" --output-format xml

Let me know, If I should create an PR for this and if you also experienced the same issue.

aksswami commented 5 years ago

Resolved this issue, as there is option to add asc_provider in the notarize command. It is not documented and was able to figure out while checking the code.

Better if we can add this to documentation.

Example:-

platform :ios do
  desc "Description of what the lane does"
  lane :app_notarize do
    app_path = 'XYZ.app'
    notarize(package: app_path,
      bundle_id: "com.yourbundle.identifier",
      asc_provider: "YOUR_ITC_PROVIDER_SHORT_NAME")
  end
end
jeremyfrancis commented 1 year ago

Resolved this issue, as there is option to add asc_provider in the notarize command. It is not documented and was able to figure out while checking the code.

Better if we can add this to documentation.

Example:-

platform :ios do
  desc "Description of what the lane does"
  lane :app_notarize do
    app_path = 'XYZ.app'
    notarize(package: app_path,
      bundle_id: "com.yourbundle.identifier",
      asc_provider: "YOUR_ITC_PROVIDER_SHORT_NAME")
  end
end

What is "notarize"? Can we just use asc_provider inside build_app() command for iOS apps?