This document gives a brief overview of the different distribution techniques that are available for Xamarin.iOS applications and serves as a pointer to more detailed documents on the topic.
Xamarin.iOS supports all the mechanisms for iOS application distribution provided by Apple. Applications can be distributed in the App Store to consumers. Additionally, they can be distributed in ad hoc fashion to testers, as well as via enterprise deployment to internal users. All these scenarios require that applications be provisioned using the appropriate provisioning profile. Provisioning profiles are files that contain code signing information, as well as the identity of the application and the intended distribution mechanism. They also contain information about what devices the app can be deployed to for the non-App Store scenarios.
App Store Distribution
This is the most common way of distributing applications. By publishing an application in Apple’s App Store, it can be made available to consumers worldwide. The process of publishing to the App Store involves:
- iTunes Connect
- Application Submission
Provisioning involves creating a profile that includes code-signing information used to publish the app. Specifically, a provisioning profile for App Store distribution needs to be created. Provisioning profiles are created in an online tool known as the Developer Provisioning Portal.
Apple provides the iTunes Connect online tool to add information that will be used for the application’s page in the App Store. This includes the following:
- App Store Icon – 1024x1024 Icon used in the App Store.
- App Name – Name of the Application displayed in the store.
- App Description – Detailed description. This is where you include marketing information about the app.
- Worldwide Store Availability – The countries where the app will be sold.
- Availability Date – When the app will be available for sale.
- Pricing Information – How much the app will cost.
- Contact Email – An email address where users can send questions about the app.
- Support URL – A URL to a support website for the app.
- Application Screenshot – Screenshots used to show off the app in the store.
Once the application is signed using the certificate identified by the App Store provisioning profile and the app is created in iTunes Connect, the application binary is uploaded to Apple for review. Upon a successful review by Apple, it is made available in the App Store.
For more information on publishing applications to the App Store see Publishing to the App Store.
Ad Hoc and Enterprise Distribution
Applications can also be distributed directly to users for testing as well as to internal users in an enterprise. These mechanisms also use provisioning, however these provisioning profiles contain additional information about the specific devices an application can be installed to. The process of creating a provisioning profile is similar to App Store provisioning and also uses the online Developer Provisioning Portal.
Once provisioned, applications can be packaged into a file known as an IPA. This is a zip file that contains the application, along with additional metadata and icons. The IPA is used to add an application locally into iTunes so that it can be synced directly to a device that is included in the provisioning profile.
For more information on creating an IPA for Ad Hoc or Enterprise distribution see IPA Support for Ad Hoc and Enterprise Deployment.
This article gave a brief overview of the different distribution mechanisms that are available for Xamarin.iOS applications. It introduced App Store, Ad Hoc and Enterprise deployment, and provided pointers to more detailed documents for each.