Olie
Olie

Reputation: 24675

How do I submit an iOS app WITHOUT Xcode?

I am a contract developer. I have written an app (yes, using Xcode!) for a client and now we are ready to ship. I would like to send him a copy of his app which he can sign and submit to the iTunes app store but HE DOES NOT HAVE OR USE XCODE.

(While it's a backup plan, I prefer not to walk him through the process of downloading and installing Xcode (through app store now -- gak!) and then the build & submit that way.)

This was all [fairly] simple 6 months ago, but we're Xcode 4 now, and the process appears streamlined to only allow the developer (team agent) to build, archive, verify & submit to his own account. (I don't know nor do I want my client's dev account credentials.)

As a last resort, I could haul my computer to his office and let him sign-in on it, but that doesn't scale to truly remote work, which is the bulk of what I do. I'm hoping for a solution that involves me sending a binary to the client with a bullet-list of instructions.

Upvotes: 38

Views: 49749

Answers (6)

Basavaraj Baligar
Basavaraj Baligar

Reputation: 11

There are two ways to upload build to app store connect

  1. Using Xcode or
  2. Using any of the applications "Application Loader" or the "Transporter" application from app store

Note: You have to login with the same credentials as of app store connect

Good Luck !!!

Upvotes: 0

Cœur
Cœur

Reputation: 38667

Nowadays, Application Loader is deprecated in favor of Apple's Transporter.

  1. Package your App as an .ipa:

    xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Release
    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}”
    
  2. Send the .ipa to client.

  3. Use Apple's Transporter to upload the .ipa to App Store Connect without Xcode.

Upvotes: 16

Priyanshu Srivastava
Priyanshu Srivastava

Reputation: 29

There are 2 options: either through Xcode it self using archiving or else making the build and submitting it using application loader. But both involve Xcode and a developer account. So I don`t think that there is any chance of you doing it without using Xcode.

Upvotes: 2

Olie
Olie

Reputation: 24675

I have accepted chown's answer as the correct one since it is very detailed and led me to the eventual solution, but I wanted to add this bullet-list answer for any future viewers who might want to see things cheat-sheet style.

Building the binary

  • Edit schemes.
  • Set archive scheme to use RELEASE configuration.
  • Make sure code-sign for RELEASE uses client's App-Store profile.
    • Get this the same way you did in Xcode 3.2, you need his profile, certificate and private key.
  • Build ARCHIVE.
  • SHARE archive.
    • DO NOT RE-SIGN!

Send binary to client

(Email or whatever.)

Client uses ApplicationLoader to upload.

Watch out for this Xcode/Newsstand problem

(Go up-vote that Q&A if you ran into the problem and it saved your bacon! :)

Upvotes: 7

chown
chown

Reputation: 52728

Build your App into an .app file with a "Release" schema:

 xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Release

Package your App as an .ipa:

/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}”

Then, run Application Loader (Download/Install Application Loader 2.9 if necessary):

open -a /Developer/Applications/Utilities/Application\ Loader.app
  • After it opens select "Next"

    enter image description here

  • Enter your iTunes Connect Apple ID and Password and select "Next"

    enter image description here

  • After your authenticated select "Next"

    enter image description here

  • Select your App and click "Next"

    enter image description here

  • Confirm App compatability

    enter image description here

  • "Choose" the binary file to upload

    enter image description here

  • Select and click "Next"

    enter image description here

  • Start the upload by clicking "Send"

    enter image description here

  • It will will take a few moments to authenticate through the iTunes Store

    enter image description here

  • Once complete, your app package has been uploaded to the iTunes Store. Click "Next"

    enter image description here

  • You are "Done"!

    enter image description here

  • Your App will show a Status of "Upload Received"

    enter image description here


Links:

Apple Doc - Using Application Loader

automating-over-the-air-deployment-for-iphone

How To Upload Your App To iTunes Connect Using Application Loader

Upvotes: 39

user244343
user244343

Reputation:

I'd send your client Application Loader (as long as they run OSX 10.6.8+). It's in /<path-to-xcode-folder>/Applications/Utilities. Send that .app over and they should be able to submit a binary with it. You'll still have to walk them through it, but Apple provides a PDF for that.

Upvotes: 4

Related Questions