Saturday, April 14, 2018

Developer tips - Visual Studio - Apple iOS development types of build

Disclaimer !
This article is based on tests/research/finding at April 2018. Things can change.

Apple iOS can be a very complicated environment, especially if Xamarin is involved (Visual Studio on Mac).
This article is part of a small collection of notes about some things that usually annoy the developers :) (me)

Ok ok, these are just some notes for me to remember some annoying things

In this episode :

Types of build

When developing an app for iOS on Xamarin, there are 4 different types of build you can chose :

  • Debug
  • Release
  • Ad hoc
  • Distribution
Let see them in more details.


This is the initial type of build during the development of an app.
Usually the build is set to include extra information about debugging and it requires a Developer Provisioning profile.
The app generated in debug can only run on an approved list of devices or in the simulator.


Usually the Release choice allows to compile the code without any debug extra code, similar to the final one, but still using a Developer Provisioning profile.
Like the Debug build, the app can run only an an approved list of devices, usually the same ones used in Debug build.
The app can be loaded on the device directly via iTunes or using systems like TestFlight or TestFairy.

Ad hoc

Like Release above, but it necessary to have a specific Provisioning profile, a Distribution Ad hoc Provisioning profile.
Like the Release, the app can be loaded on the device via direct load (iTunes) or a test environment (TestFlight - TestFairy)


This is the final stage.
When the app is ready for a release on AppStore, must be compiled for Distribution and a specific distribution provisioning profile is needed.
The app can be loaded only on the Apple Store for approval and final distribution.


So, what build to use ?
Well, of course Debug when you need to develop the app.
Then you can create a Release build if the testers have devices in the development list.
If the app need to run on devices not present in the Debug device list, or need to be used by people not in the Development list, then you can create an ad-hoc Provisioning profile with a new list and share the app in that way.
And finally you build for Distribution when the app is ready for the App Store.

No comments:

Post a Comment