Search code examples
iosxcodearchiving

What's the difference between all 4 methods for deployment in Xcode?


In Xcode, after archiving you can click "export" to generate an .ipa that you can then distribute outside of the App Store. However, there are several options for exporting. Namely:

  • Save for iOS App Store Deployment
  • Save for Ad Hoc Deployment
  • Save for Enterprise Deployment
  • Save for Development Deployment

What are the differences between this four methods?


Solution

  • As far as I can tell, the only difference is the provisioning profile that is included within the .ipa file. Also, if you have not generated the profile that is needed, Xcode will automatically generate it for you:

    • If you choose "Save for iOS App Store Deployment", a regular distribution profile will be used.
    • If you choose "Save for Ad Hoc Deployment", an Ad Hoc distribution profile will be used.
    • If you choose "Save for Enterprise Deployment", an In House distribution profile will be used.
    • If you choose "Save for Development Deployment", a regular development profile will be used.

    I had a lot of problems trying to understand this and I came to the conclusion that Apple, in trying to make things "simpler," they made things a lot more confusing and harder to understand. In my opinion it's always better to know what you're doing instead of having the machine do it automatically for you.