What is the ITunes Connect provider where I can find it notarize DMG?

Hello,

We distribute our application as a dmg that contains an installer package for the application and kext.

Recently, I updated it was able to successfully notarize the application. I used the following command for that purpose:


xcrun altool --notarize-app --primary-bundle-id <app-bundle-id> -u <itunes-username> -p <password> -f <path-to-dmg>


Today I've tried it again and has failed with the following error:


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. (1627)


As far I understand I can not skip --asc-provider option of altool anymore, but have no idea what value I should use.

Does anaybody know how to fix this and/or where to look for additional information?


Thanks in advance,

Aleksandr

Accepted Reply

The latest version of Customizing the Notarization Workflow describes how you can get this value using the new

--list-providers
option in Xcode 11’s
altool
.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

Does anaybody know how to fix this and/or where to look for additional information?

Yeah, that’s not obvious. I’m not sure if there’s an easier way to do this, but I was able to find this info as follows:

  1. I put my app-specific password (generated using the Apple ID site) in a file called

    password.txt
    .
  2. I ran

    iTMSTransporter
    in
    provider
    mode.
    $ /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u eskimo1 -p @file:password.txt
    …
    Provider listing:
       - Long Name -                               - Short Name -
    …
    4  Quinn Quinn                                 QuinnQuinnXXX
    …

    .

  3. I looked up my team name on the left and found the

    --asc-provider
    value on the right. In this case, Quinn Quinn is my individual team and QuinnQuinnXXX (where *** is some number) is the
    --asc-provider
    value.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thank you very much! That's what I needed!

I tried this and get an error "No such file or directory"

I entered account and password directly as arguments.

The command in my post references two files:

  • iTMSTransporter
    itself, at the path
    /Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter
  • The file containing my application-specific password,

    password.txt

It seems likely that one or the other is incorrect in your case. You should check them in turn.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I understand it needs to be app-specific. Will try that after my waiting period for two-factor.


I did not have a device set up and selected the "other" option. Now I am locked out without recourse until Friday night.


Apple, "das ist nicht leicht!"


I wrote Developer Support for a manual resolution of clarifying the itc_provider for our main admin login harald@heartmath.com, but no answer.


BTW, does the notarization need to be signed by the same developer that signed the app or can it be by a different team member?

does the notarization need to be signed by the same developer that signed the app or can it be by a different team member?

Notarisation only makes sense in the context of a Developer ID-signed product, and a Developer ID-signed product is not signed by a specific developer, it’s signed by the team. Thus, there is no “same developer that signed the app”.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Are there any other methods to get this information, Quinn? Application Loader.app isn't part of Xcode as of version 11.

I believe for standard third-party accounts this value is your Team ID. I recommend that you try that.

Note I have a weird value because I’m testing with an internal account. It is mostly, but not entirely, like a third-party account )-:

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Sadly, it's not the team identifier. Mine is a "weird" value, just like yours - and the only way I could get it was via Xcode 10.x.


I'll file some feedback - if there's no way to get this value in an Xcode 11+ world, that's a big problem.

I'll file some feedback

Please do. I suspect that

iTMSTransporter
will continue to be available via other channels but, even if it is, we should make it easier to get this value.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I've filed this as FB7247261 - please let me know if there's more information I can add that would be helpful. Thanks for your time, Quinn!

I also filed a bug about this and Apple was kind enough to inform me that as of Xcode 11, the iTMSTransporter binary is bundled with Xcode itself. I wrote a blog post today detailing the steps for obtaining the ID using iTMSTransporter. Basically a rewrite of Quinn's advice, adapted to Xcode 11: https://indiestack.com/2019/09/notarization-provider-ids/

This doen't quite work for me. I tried to use iTMSTransporter in provider mode got obtain my "provider shorthand", but when I invoke that using


xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/iTMSTransporter -m provider -u <myAppleId> -p <myAppSpecifcPassword>


I get the error


Neither an encoding house user nor an iTunesConnect user was found. (1080)



Note that I'm not in the 99$ per year Apple Developer Programm, and I don't have an iTunes Connect or App Store Connect account as far as I know. I'm just trying to sign and notarize my app with my own Apple ID. But when I try to notarize my app without using the --asc-provider argument it fails with the error message:

Error: The username <myAppleId> is not a member of the provider . Contact your team admin for assistance. (1296)


Note the space after 'provider' and before '.' - The error message prints exactly like that.


Thats when I don't provide the --asc-provider argument. I also tried providing altool with lots of possible team names but I got the "you are not a member of this team" error every time.


I have no idea what to do now. Any help would be greatly appreciated. Thank you!

How are you signing your app? Notarisation requires that your app be Developer ID signed, and AFAIK that’s only available to paid developers.

ps While it doesn’t address this specific question, I’ve found the Supported capabilities (macOS) page to be super useful in situations like this.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

The latest version of Customizing the Notarization Workflow describes how you can get this value using the new

--list-providers
option in Xcode 11’s
altool
.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"