44

I am experimenting with Xcode 6 Beta, and noticed armv7s disappeared from Standard Architectures. I did scan through Xcode 6 release notes, but didn't see changes on that. Can anyone confirm this change?

Xcode 5.1.1:

enter image description here

Xcode 6 Beta: enter image description here

Update

There is a thread on iOS 8 Beta forum discussing this topic as well. https://devforums.apple.com/thread/244407?tstart=0

Also note @ThomasW had an answer on adding armv7s to Architectures.

vladof81
  • 26,121
  • 9
  • 38
  • 41

3 Answers3

36

I also filed a bug on this and got a reply stating that this is intentional. If you want to build for armv7s you have to add the architecture manually. I have now idea why this change was made. I'll update this if I get additional information.

Update from the dev forums:

The reason for including armv7s would be marginal backward compatibility. But the general differences between armv7 and armv7s instruction sets are minor. So if you choose not to include armv7s, the targeted armv7 machine code still runs fine on 32 bit A6 devices, and hardly one will notice performance gap.

-- Zhou Yang

Florian
  • 5,326
  • 4
  • 26
  • 35
  • 4
    I do have an idea. `armv7s` is only used for 3 devices, and performance gains out of floating-point instructions introduced in it are very specific. Removing it saves space without any losses for vast majority. – coverback Sep 05 '14 at 05:40
  • @Florian I updated your answer with relevant infos on the *why*. – Guillaume Algis Oct 06 '14 at 16:22
  • I wonder if the App Store builds armv7s for iPhone 5, etc. now that we have Bitcode and App Thining in iOS 9. – Florian Sep 17 '15 at 09:20
10

From @vladof's post on the Apple forum, if you need to include armv7s support you need to add it manually. You can do so by changing the architecture setting to be like this:

enter image description here

You may want to do this if you're building a library and users are expecting the armv7s slice to be available.

ThomasW
  • 16,981
  • 4
  • 79
  • 106
  • @EvaMadrazo I'm using this technique, and I'm not getting an error with either Xcode 6.0.1 or Xcode 6.1 beta 2. – ThomasW Sep 30 '14 at 10:28
1

Please note that this answer was made at very early stage of the quest, has been unchecked for answer when Xcode 6.0 GM came out. This is meant only for tracking, refer to other answers for detailed information.

This appears to be a bug of Xcode 6 Beta, according to this thread on Apple forum. A bug has been opened.

vladof81
  • 26,121
  • 9
  • 38
  • 41
  • I am using XCode 6.0.1 and this still happens :( – Eva Madrazo Sep 30 '14 at 09:25
  • 1
    The responses from Apple appear to indicate that armv7s support has been removed from the Standard Architectures and it is the intended behavior. (Although the lack of mention of this in Apple's release notes is a huge oversight on their part.) – ThomasW Sep 30 '14 at 09:58