Support for iOS 9/10 devices

645
3
Jump to solution
09-06-2019 09:21 AM
DevendraKhatri
New Contributor III

I have built an app using iOS SDK version 100.5.0 but it does not install on iOS 9/10 devices. I checked the release notes, iOS 9/10 is only supported in sdk version 100.2.1, not on later versions.

But, 100.2.1 framework size is too large and takes time to build IPA.

So I have few queries here,

* What is the hack for making iOS9/10 devices run with latest version of arcgis-ios sdk (atleast 100.3.0) !

* How can I reduce the size of framework file in any way !

* Will there be any feature loss if I use lower versions !

0 Kudos
1 Solution

Accepted Solutions
Nicholas-Furness
Esri Regular Contributor

Hi.

100.2.1 framework size is too large and takes time to build IPA.

What you're probably seeing is the size of the unthinned/unsliced app (which includes a few architectures). Once thinned you should see similar sizes for various versions of the SDK.

See iOS ArcGIS.framework too large, hence large .ipa size - Stack Overflow  for some more info.

And you shouldn't go by the size of the SDK download as that includes binaries for a large range of architectures. The SDK download got smaller recently when we were able to dispense with 32-bit architectures, and when we switched to dynamic framework only (both in line with Apple's recommendations), but that's separate from how much larger that makes your final thinned IPA.

Yes, we add features with each release of the SDK, so you may find some missing in 100.2. Additionally, we have fixed many bugs since then.

Can I ask why you need to support iOS 9 and 10? As per Apple's own stats, 95% of all iOS devices (97% of all devices introduced in the last 4 years) are using iOS 11 or 12: https://developer.apple.com/support/app-store/ 

Cheers,

Nick

View solution in original post

0 Kudos
3 Replies
Nicholas-Furness
Esri Regular Contributor

Hi.

100.2.1 framework size is too large and takes time to build IPA.

What you're probably seeing is the size of the unthinned/unsliced app (which includes a few architectures). Once thinned you should see similar sizes for various versions of the SDK.

See iOS ArcGIS.framework too large, hence large .ipa size - Stack Overflow  for some more info.

And you shouldn't go by the size of the SDK download as that includes binaries for a large range of architectures. The SDK download got smaller recently when we were able to dispense with 32-bit architectures, and when we switched to dynamic framework only (both in line with Apple's recommendations), but that's separate from how much larger that makes your final thinned IPA.

Yes, we add features with each release of the SDK, so you may find some missing in 100.2. Additionally, we have fixed many bugs since then.

Can I ask why you need to support iOS 9 and 10? As per Apple's own stats, 95% of all iOS devices (97% of all devices introduced in the last 4 years) are using iOS 11 or 12: https://developer.apple.com/support/app-store/ 

Cheers,

Nick

0 Kudos
DevendraKhatri
New Contributor III

Thanks Nicholas for detailed explanation, we need to support iOS 9 to serve clients who have such devices. But this can be managed with lowering version to 100.2.1, and thinning reduces the SDK size.

One more thing,

I have faced architecture related issue in Android API level 25, Nexus 9, [ issue- map doesn't load].

It can be solved by adding supported architecture in the gradle file but I am not sure should this be done or is there any other way through ESRI ?

Adding architectural related code sometimes gets rejected by google play store.

0 Kudos
Nicholas-Furness
Esri Regular Contributor

Hi Devendra Khatri,

Could you ask the Android question over here please? ArcGIS Runtime SDK for Android 

And one more thing to bear in mind: please familiarize yourself with the support levels for the various versions of Runtime SDK. 100.2.1 will enter in Mature Support in November this year. At that point we will not provide any hot fixes or patches should you encounter issues, and you should be actively planning to update to a more recent version.

Cheers,

Nick.