Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not build module Darwin - arm64 issues

Tags:

xcode

ios

I developed my first XCode5 ONLY app which is very similar to the apps I have done on 4.6. It runs perfectly OK in the simulator and on my iPhone 4, 4S and 5, as well as my 2 iPads. However, when I try to validate it for submission to the App Store, I get a whole stack of errors relating to arm64 requires 7.0.0 or later. I have the deployment target set to 6.1 and this does not happen when I run my previous apps in Xcode 5 that had been started in 4.6. If I change the deployment target to 7.0 then everything is OK. What is happening here? What do I need to change to get it to validate on 6.1? Thanks. Screengrab

EDIT: OK, I changed the Architectures in Build Settings to Standard (armv7, armv7s) removing arm64, and everything was OK. Was that the right thing to do? Presumably it will still run on the iPhone 5S, but not in 64-bit. Correct?

like image 757
IainGM Avatar asked Sep 22 '13 10:09

IainGM


2 Answers

You can't yet submit 64-bit and still support iOS 6. You will be able to next month, however.

See https://developer.apple.com/news/index.php?id=9162013a

Edit: Yes, if you have armv7 and armv7s, you will still run on the iPhone 5s, although in 32-bit mode. I'd recommend submitting with armv7/armv7s now, and adding in arm64 next month.


Update November 1, 2013:

According to the 2013-10-22 version of the 64-bit Transition Guide for Cocoa Touch, you can now use Xcode 5.0.1 to generate a binary that includes 64-bit and 32-bit architectures, and runs on older iOS versions.

  • You need to use Xcode 5.0.1
  • The 64-bit version can only run on 64-bit devices running iOS 7.0.3+
  • The 32-bit version can only run on devices running iOS 5.1.1+
  • 64-bit devices running iOS 7.0.0-7.0.2 will use the 32-bit slice
like image 137
iccir Avatar answered Nov 08 '22 07:11

iccir


You have to use iOS 7.0 as deployment target to build for arm64. If you wish to support iOS 6.1, you'll have to stick with armv7s at most. As arm64 processors can run in 32-bit mode, this shouldn't be an issue.

like image 14
Tamás Zahola Avatar answered Nov 08 '22 05:11

Tamás Zahola