Question

enter image description here

My target build settings are shown above. If I open the drop-down menu, it contains only one item called "Standard architectures ..." ,but as you can see, it contains arm64 , so i think it's not standard anymore. I think I can delete arm64 from Valid Architecture, but is it safely?

Was it helpful?

Solution

Xcode 5.1 forces arm64 as standard architecture. However, the Xcode release notes also mentions,

Projects not able to support 64-bit need to specifically set the architectures build setting to not include 64-bit.

Apple does not explicitly say it is mandatory to have arm64 support. I have not found any official doc saying Apple has made it mandatory to support arm64 arch, not even the app review guideline. However, it is Apple you never can predict.

Anyways, to change the architecture settings goto,

  • Targets-->Build Settings-->Architectures-->Architectures
  • Select "Other"
  • Replace $(ARCH_STANDARD) with $(ARCHS_STANDARD_32_BIT)
  • Now archive

Once before submitting the ipa to appstore do a Validation through Xcode.

Hope that helps!

OTHER TIPS

xCode 5.1 you can't do that. because the standard architecture was changed by apple

Arm64 is now included in the “Standard architectures” setting.

Xcode 5.0 introduced support for building 64-bit iOS applications but it was not enabled by default. To enable the option of building 64-bit in Xcode 5.0, an architectures setting was provided: “Standard Architectures Including 64-Bit” (ARCHS_STANDARD_INCLUDING_64_BIT).

With the introduction of Xcode 5.1, arm64 is included in the default "Standard architecture” build setting. This results in projects using the default setting automatically building for arm64 along with the standard 32-bit architectures.

https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/xc5_release_notes/xc5_release_notes.html

Edited:

Projects not able to support 64-bit need to specifically set the architectures build setting to not include 64-bit.

Projects configured to use ”Standard Architectures Including 64-bit” will be converted to “Standard Architectures $(ARCHS_STANDARD).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top