2

I want to build an ios app with Xamarin. This app has to be available on iphone 5c and later. When I installed Visual studio 2017, the sdk (xamarin.ios) installed is 11.14 and I can't build app for arm v7 or 7s because this sdk needs arm 64 ! So ... I can't build an app for my iphone 5c (which have an old 32 bits arm ;-) )

So how can I download sdk prior to v11 to enable arm v7 build? Or is there a method to build ios app with my sdk 11.14 for armv7?

Config : - PC , windows 10, visual studio community 2017 (15.7.4) - Mac book pro 2017, High sierra (10.13.5), xcode 9.4.1

Thanks, Luc

Luc
  • 156
  • 1
  • 15

1 Answers1

7

With iOS11 you cannot build applications for devices running only on a 32-bit architecture.
At WWDC17 they clearly said:

Support for 32-bit apps is not available in iOS 11 and all 32-bit apps previously installed on a user’s iOS device will not launch.

Your option to downgrade your Xamarin.iOS would allow you to have an armv7s (iPhone 5 & co) as a supported architecture but you would get your application rejected during the approval phase since it should support as well a 64-bit platform.

The solution is to enable with your current configuration the support of older architecture and the newer one, having a lower MinOSVersion to at least iOS 9 and a supported architecture ARMv7 + ARM64

Hichame Yessou
  • 2,658
  • 2
  • 18
  • 30
  • 1
    Hello, thanks for your answer. Your solution to enable ARMv7+ARM64 doesn't work because when I do that, I have the following error : "Invalid architecture: ARMv7, Thumb, LLVM. 32-bit architectures are not supported when deployment target is 11 or later.". So I decide to set the minimum device to Iphone 5S which is the first ARM64... – Luc Jul 07 '18 at 13:09
  • 1
    I try to set the deployment target to 9.0 in my info.plist via VS, it doesn't work, the value is cleared. I try to add the MinOsVersion directly in the plist by editing it via Textpad... Doesn't work. The value seems to be ignored. – Luc Jul 07 '18 at 15:46
  • 1
    The Deployment Target should be set to 10 or lower, while the MinOSVersion to a lower version of the deployment target. Another aspect, have you tried to uncheck the box of "Perform 32bit float operations as 64bit float" ? – Hichame Yessou Jul 07 '18 at 23:44
  • In VS, I can't set the Deployment target. I change the value to 9.3 for instance and save, I read another file and come back to my info.plist, the value for Deployment target has been set to blank. So the deployment target set for my app is the sdk version ... Any idea why the deployment target is cleared without any warning or error ? – Luc Jul 08 '18 at 10:39