Chris Marshall
Chris Marshall

Reputation: 5332

Is There A Way for Non-Devs To Release iPhone Apps?

I'm sorting through the various Apple docs, but haven't seen it yet.

Here's the deal: I've created a series of apps that are for a service for NPOs. These are hugely popular (albeit in a very small pond), and I have been asked to make customized versions for some of these organizations.

It's a FOSS app, but these outfits can't get iOS programmers to build and release the apps. They are willing to set up App Store accounts, but don't have the geeks on hand.

Due to the way the organization manages its IP, I am not allowed to release branded apps under my app store account. They need to release under theirs.

I don't want to set up an enterprise account for this. I haven't read up on that, but I'll bet that it would not be practical, anyway.

Is there a reasonable way for folks to take apps built on one account, and apply a new provisioning profile, and release it via another account?

Upvotes: 0

Views: 173

Answers (4)

hotpaw2
hotpaw2

Reputation: 70693

Yes a company can take any developer app, sign it with their own certificates, and submit it using their own iOS enrolled team leader ADC account. They can even hire a contractor or temporary employee and legally authorize them to do this work for them.

If you do this type of subcontracting, you might want to get authorization in writing from the CEO, COO or chief legal consul of the company to do so.

Upvotes: 1

Jim
Jim

Reputation: 73936

Enterprise accounts don't let you release on the App Store.

A typical way of handling this is for them to set up an account and give you the details for the team agent to log in. You then generate a key pair and a certificate signing request in Keychain Access. You log in as the team agent and use the certificate signing request to get a distribution certificate, which you then download and open - this will install into the keychain. Export the key pair and supply this to them so that they aren't screwed if you get hit by a bus or something.

From that point on, it's all stuff you should be used to. Xcode knows which private key to sign the build with because it matches the provisioning profile. It knows which provisioning profile to use because the app ID in the profile matches the app ID in the Info.plist file. Beta testing with ad hoc builds is the same as normal, except you register the UDIDs after logging into their account, not yours. Archives are not tied to your account.

When you submit the app through Xcode, you'll have to supply the team agent login details again. The submission will show up under their developer account, not yours.

Technically speaking, I think it breaks their developer agreement with Apple for them to supply a third-party (you) with their login details. However I don't believe it's possible to delegate all of the privileges necessary to submit an app to anybody other than the team agent, and the parts that can't be delegated aren't easy to explain to a non-technical person. You can script some of it to make it easier, but it's easy for them to get into a mess, so it's usually best if they let you handle it all.

Upvotes: 1

Benjie
Benjie

Reputation: 7946

You can either do this yourself by getting access to your client's app store signing certificates, or you can get your clients to use their codesign tool - details on the latter technique can be found on google - here is one example.

Upvotes: 1

alinoz
alinoz

Reputation: 2822

you can use a different provisioning profile and deliver the app to the other guys. You can have multiple profiles in your X-Code and select with which one you want to sign the app when you create the archive.

Upvotes: 1

Related Questions