xcode app submission error: "no eligible software found, make sure this software is owned by your developer organization"

I was able to sort this out and thought I'd share for others looking for answers. Because I have a single apple developer id and multiple iTunes Connect ids, that is the core of the problem. Xcode would not let me put and use a non-developer account id into the user preferences. The solution was to use the Application Loader tool.

An Overview of necessary steps, which I use for every deployment now:

  • Make sure your Release build is using a Distribution provisioning profile and not just a development one. Don't use "Automatic" either, even if it sometimes works. I use an App Store profile, even for test flight releases via ITC. Create the provisioning profile on apple's ios center manually, call it something obvious like "[APP_NAME] App Store Distribution". Then in the Xcode build settings, set the release profile to this name. Secondly, make sure the Code Signing developer is the one on this profile, it doesn't always toggle default to that.
  • Archive your app as usual to generate the build.
  • Do not "submit" app from organizer, instead do an export, export to file.
  • When prompted, choose "App Store Submission" instead of "Ad hoc", otherwise it will fail.
  • In Xcode open Xcode->Open Developer Tool->Application Loader
  • From here you can add/select any of your itunes connect users independent of Xcode.
  • Choose "deliver your app" to submit, and choose the exported build file.

This should get the upload to itunes connect. If you are using TestFlight in ITC and it is setup, this will result in a new TestFlight push.

When creating a new app for each organization I work with, I always setup the new Distribution profile immediately, don't start using "Automatic" or let Xcode "Fix it...", as these may work once, but will likely cause issues or failed releases later. Always name your profiles to include the app name, distribution and App Store, as once you start doing this a lot it is easy to confuse them if you're just naming them non descriptively like "MyApp's profile".


"No eligible software" suggests that either the appID doesn't exist or it exists on the wrong developer account (perhaps Xcode auto created).

Check the team you're using normally (if it's wrong, XC might have done something useful but in the wrong account). Start with Xcode Preferences > Accounts then details of the preferred and current teams in question. After that, check in the devcenter (making sure you're logged in as the team you're trying to submit under) - check your appIDs and see if the app you're expecting to see there actually is.

Also make sure the iTunes Connect account you're using to upload has the "technical" role (per https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/UsingiTunesConnect/UsingiTunesConnect.html)