Transferring a non-appstore mac application to another account

I have an non-appstore application, using developer id which I want to transfer to another developer account. How can I go about doing this?

  1. How do I transfer the app ID?
  2. Will past versions of that app signed with the old account continue to work? Will I have to re-sign them?

Replies

Will past versions of that app signed with the old account continue to work?

Yes. When you run an app, Gatekeeper checks that it was valid at the time that it was signed. It’s possible for Apple to block a validly signed app from running, but that uses a different path. That’s why, for example, revoking Developer ID certificates is a manual process.

How do I transfer the app ID?

Are you sure it has an App ID? A Developer ID app only needs an App ID if it uses a restricted entitlements, that is, an entitlement that must be authorised by a provisioning profile.

Regardless of the App ID story, when the new developer’s app ships it will have a different DR, which can cause problems for things like the file-based keychain and the built-in firewall. See TN3127 Inside Code Signing: Requirements.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thank you very much for this. Regarding the app ID, the app has an app id listed in the "Certificates, Identifiers & Profiles" and uses only the Apple Events and Address Book entitlements. I'm just fearful that I won't be able to use the same bundle id under the new account. Is there any uniqueness check for this, outside of the app store or is free for anyone? Regarding the different DR, does it mean that user will need to re-approve access (which is OK) or are there more serious implications?

the app … uses only the Apple Events and Address Book entitlements.

Those are not restricted entitlements, and thus don’t need a profile.

Is there any uniqueness check for this, outside of the app store or is free for anyone?

The latter.

However, I’m very reluctant to send you down that path. If you ship an app from team A with a bundle ID that’s in an App ID owned by team B, you could run into problems down the line:

  • If at some point in the future the app needs to use a restricted entitlement, you won’t be able to authorise that use from team A because team B owns your App ID.

  • It’s possible that you might run into tooling issues. I think it’s reasonable for Xcode to assume that your team owns the App ID you’re using!

Regarding the different DR, does it mean that user will need to re-approve access (which is OK) or are there more serious implications?

It’s usually the former, but the devil is in the details here. It’s hard to say exactly how this will pan out without knowing more about the specific protected resources that your app relies on.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"