Generating Binaries For Clients

Hello all.  I’m currently working with a client who has repeatedly told me the following:

“The last contractor I worked with sent me an IPA and I was able to submit it to iTunes connect.”

Now, when I hear IPA, my first thought is of the old TestFlight.  You used to build the binary, rename xyz.zip to xyz.ipa, and then upload it to TestFlight.

I’m thinking, “He’s just confusing two different things…”  However, I want to be absolutely sure.  

So, let me ask this question, which I’m sure the answer to is, “No.”.

Is there any way to build an iOS distribution ready binary using account A and then allow it to be submitted via iTunes connect using account B?

No credentials are shared.  Accounts are not linked.

The reasons I think the answer is, “No,” is because:

  • In order to create an app description you need a valid App (bundle) ID.
    • Bundle IDs are created within user B’s account.
  • In order to build a distribution binary, you need a distribution certificate.
    • Distribution certificates rely on the bundle ID.
  • In order to upload an app to iTunes connect, it has to be signed with a certificate using the bundle ID specified for the app description.
    • Again, the bundle ID is created within user B’s account.

There is NO WAY (that I know of) to generate a valid binary on user A’s account and upload it to user B’s iTunes Connect  without certificates generated via user B’s account.

If someone knows how this could possibly be done, I’d love to hear it.

Cheers and thanks for reading this weird post!

-Ed

First of all a .ipa file is what iTunes downloads to your device and into your on-computer.  If you look in ~/Music/iTunes Library/Mobile Applications (I think) you will see a bunch of .ipa files.

I think Application Uploader might be able to upload a .ipa file, but you can certainly rename it to .zip, unzip it, zip up the .app folder and end up with a .zip file that should upload.

Now for signing, there are apps like AirSignApp:  that will let you resign apps.  That could be used to solve your needs.  Of course if you use something like AirSignApp, we can’t really provide support for that.

Rob

Thanks Rob.  I totally forgot about this tool (which I own and haven’t used yet…)

For anyone reading this post, and wanting to use AirSign, follow these steps to get started:

  1. Build your app for production, using either an AdHoc certificate, or a Production Certificate.
  • This will produce a file called appName.zip (appName is name of your app not literally appName).
  1. Unzip ‘appName.zip’
  • This will produce a folder called ‘appName’
  1. Rename the folder ‘appName’ to ‘Payload’
  • Note: Be sure to use a capital P and lowercase for rest of name.
  1. Zip the file using a zip-compatible compression tool.
  • This will result in a file called ‘Payload.zip’
  1. Rename ‘Payload.zip’ to ‘Payload.ipa’
  2. Load this file into AirSign.

The rest is up to you.

First of all a .ipa file is what iTunes downloads to your device and into your on-computer.  If you look in ~/Music/iTunes Library/Mobile Applications (I think) you will see a bunch of .ipa files.

I think Application Uploader might be able to upload a .ipa file, but you can certainly rename it to .zip, unzip it, zip up the .app folder and end up with a .zip file that should upload.

Now for signing, there are apps like AirSignApp:  that will let you resign apps.  That could be used to solve your needs.  Of course if you use something like AirSignApp, we can’t really provide support for that.

Rob

Thanks Rob.  I totally forgot about this tool (which I own and haven’t used yet…)

For anyone reading this post, and wanting to use AirSign, follow these steps to get started:

  1. Build your app for production, using either an AdHoc certificate, or a Production Certificate.
  • This will produce a file called appName.zip (appName is name of your app not literally appName).
  1. Unzip ‘appName.zip’
  • This will produce a folder called ‘appName’
  1. Rename the folder ‘appName’ to ‘Payload’
  • Note: Be sure to use a capital P and lowercase for rest of name.
  1. Zip the file using a zip-compatible compression tool.
  • This will result in a file called ‘Payload.zip’
  1. Rename ‘Payload.zip’ to ‘Payload.ipa’
  2. Load this file into AirSign.

The rest is up to you.