Malte Onken
Malte Onken

Reputation: 769

XCode 4.2. issue: Standard (armv7)

I want to update my app in the App Store but when I try to upload it I get an error that armv6 is not supported in my app. The problem is I cannot even choose Armv6 as an Architecture.

I have the following Architecture settings:

  1. Architectures: Standard (armv7)
  2. Base SDK: Latest iOS (iOS 5.0)
  3. Build Active Architecture Only : NO
  4. Valid Architectures : armv6 armv7 armv7f armv7k

I thought because of 3 and 4 everything is set right.

I can NOT change 1 for something else.

What can I do?

Upvotes: 4

Views: 8713

Answers (7)

Pawan
Pawan

Reputation: 11

Remove all architecture from xcode then it will take arm v6 and arm v7.

Upvotes: 1

oliver
oliver

Reputation: 111

Remove environment variable $(ARCHS_STANDARD_32_BIT) from Architectures setting. The add "armv6" and "armv7" to the list of Architectures. If you're building your own libs - they need to have those settings too.

Upvotes: 0

Kim Le
Kim Le

Reputation: 11

Some back story for everyone seeing duplicate symbol errors and/or warnings about armv6 is missing.

  1. armv6 is required if your apps supports deployment targets below iOS 4.3.
  2. The latest Xcode 4.2 by default has architecture = $(ARCHS_STANDARD_32_BIT) which maps to armv7.
  3. Xcode 4.1 has the same env variable, but it map to armv6 and armv7.

Doing a armv6+armv7 in Xcode 4.2 requires some trickery...

A) add in "armv6" to the list of Architectures. However this breaks builds for Xcode 4.1 since "armv6" + $(ARCHS_STANDARD_32_BIT) = armv6 armv6 armv7 -> duplicate symbol errors

B) use the variable $(VALID_ARCHS) which maps to armv6 armv6 (and i386 for simulator builds)

Upvotes: 1

Bernardo Bemhamu
Bernardo Bemhamu

Reputation: 11

this is the best solution, yeahhh!

Select a "Architectures: Standard (armv7)" Select a "Other..." Select a "+" button add a "armv6" select a "Done"

Upvotes: 1

user985448
user985448

Reputation:

  1. Select a "Architectures: Standard (armv7)"
  2. Select a "Other..."
  3. Select a "+" button
  4. add a "armv6"
  5. select a "Done"

Good luck

Upvotes: 0

user890595
user890595

Reputation:

The way we fixed ours was to go into the target build settings, select the Architectures list and select other... Then hit the "+" button to add your own called "armv6" without the quotes. Hit done, clean targets and archive.

Keep in mind that nothing needs to be "selected" in the Architectures list. It is only a list of architectures supported and should contain just two entries.

Upvotes: 1

Evgen Bodunov
Evgen Bodunov

Reputation: 5946

It's better to downgrade back to stable version of SDK for Distribution builds. Apple even wrote about that in previous beta builds notes.

I partially fixed that problem by setting Architecture to "armv6 armv7". After that i could build universal binary, but simulator builds is broken. :)

Upvotes: 2

Related Questions