We have created the application using Xamarin and ArcGIS SDK. Our production build targets ARM64 and ARMv7. The final ipa size is 59.3 MB. This is too much, we are getting the following report from app store:
The app binary listed below was 59.3 MB when you submitted it, but will be 140.9 MB once processed for the App Store. This exceeds the cellular network download size limit and would require your app to be downloaded over Wi-Fi
I noticed that the biggest part of the application are native ArcGIS frameworks - ArcGIS-arm64.framework ~65.5 MB, ArcGIS-armv7.framework ~60.4 MB.
We tried to enable "Enable device specific builds", if i understand correctly it should allow additional processing when submitting app to the app store where packages dedicates to specific architecture are generated so that user with a given device architecture will only download stuff which is needed for his device. But enabling this options had no effect.
Is there a way to make the ipa bundle smaller?
We have a bundle which is 75 Mb and successfully publishes through the AppStore. Not an expert at this, but maybe its the Linker? Here are the settings we use for our build (Xamarin Studio).
That message is a warning and does not prevent App Store submission. As the message indicates, the size limit pertains to the ability to download an app using cellular data and means that an app of that size can only be downloaded using wi-fi. While that won't prevent your app from being listed in the App Store, I certainly understand that you might want to bring the app size under that limit. Unfortunately, there's no way to do that when referencing the ArcGIS Runtime in a Xamarin iOS app as of today. That's in large part due to the breadth of functionality contained within the SDK, but also to some degree how native libraries can be compiled on iOS and the particulars of how the ArcGIS Runtime functionality is packaged for Xamarin iOS. The large native ArcGIS frameworks you noticed contain the bulk of the ArcGIS Runtime's logic. The app bundle has to include both of these, as support for both ARM64 and ARMv7 is a requirement of the App Store.
Sorry for any inconvenience.
Is it safe to say that this size issue still applies to v100.1 of the ArcGIS runtime for .NET (Xamarin) ?
That is, with v100.1, has the runtime somehow shrunk ...or are there any other tricks or linker options that can get an iOS build down below the 100 MB limit?
The final .ipa sizes for apps built with version 100.1 are similar to those for apps built against 100.0. Note again that this does not prevent release to the App Store; it only means that the app must be downloaded over wi-fi.