Application Size for iOS apps with Xamarin

ismailismail MAMember


I'am just discovering this wondeful tool Xamarin to build iOS apps with C#
as i understood an .NET runtime is distribued with the application, what is the
size of this Runtime?, is it affecting the global size of the application?



  • JeffreyStedfastJeffreyStedfast USXamarin Team Xamurai

    The native linker strips out any runtime symbols that are unused by the application (and the MonoTouch linker strips out any .NET classes/methods/etc that are not used, depending on the behavior you specify in Project Options / iOS Build), so there's no pre-determined size that the runtime / class libraries will increase your binary size by. Typically it is small, but I don't know offhand how small (perhaps Sebastien or Rolf will know if either of them sees this question).

    To answer your second question: yes, it affects the global size of your application.

  • ismailismail MAMember

    Thank you For the answer Jeffrey, i think despite this, it's still worth to use monotouch
    to benefit of the power of .NET libraries

  • SebastienPouliotSebastienPouliot CAXamarin Team Xamurai

    @ismail Jeff did a good summary. It's not because you use .NET that you must ship a full .NET framework (class libraries) and runtime with your application. We remove what's not used and, for iOS, we also remove the IL (since it was AOT'ed) in the final release builds (making it harder to reverse engineering).

    The smallest application, for iOS, will start around 3MB and, as you guess, the minimal runtime (and class libs) takes a lot of this space (not your app).

    OTOH once that price is paid the increase of the size, as you add features to your application, is small.

Sign In or Register to comment.