24
votes

Just upgraded to Xcode 5.1, getting the following error:

ignoring file ...Dependencies/SalesforceNetworkSDK/libSalesforceNetworkSDK.a, missing required architecture arm64 in file ...Dependencies/SalesforceNetworkSDK/libSalesforceNetworkSDK.a (3 slices)

If I turn off build active archs only and remove arm64 from valid archs I get:

Build/Products/Debug-iphoneos/libPods.a, file was built for archive which is not the architecture being linked (armv7)

4
I discovered that for some reason my Pods Build Settings were reset to OSX default i386, overriding them with armv7 and armv7s got it to build, ?!Brad Thomas
This might be relevant: cameronspickert.com/2014/01/20/…matt
@matt, yes thanks that looks useful & relevant. I notice that it's also updated for xcode 5.1 as well.Brad Thomas
Yes, Xcode 5.1 is insisting on 64-bit for devices that have it, and this is having a lot of surprise consequences for people. - If you have ended up solving your own problem, feel free to answer your own question; that's perfectly acceptable, and might help others.matt

4 Answers

42
votes

According to apple's release note, see the following note point.

Note:

Be aware of the following architectures issues when opening your existing projects in Xcode 5.1:

  • When building for all architectures, remove any explicit architectures setting and use the default Standard Architectures setting. For projects that were previously opted-in using “Standard Architectures Including 64-Bit”, switch back to the “Standard architectures” setting.
  • When opening an existing project for the first time, Xcode 5.1 may display a warning about the use of the Xcode 5.0 architectures setting. Selecting the warning provides a workflow to revise the setting.
  • Projects not able to support 64-bit need to specifically set the architectures build setting to not include 64-bit.

So you've to set architecture as below to support libs architecture.

enter image description here

Reference from this post.

Update: From May 15, you've to take build from 5.1.1, see this post.

8
votes

Don't know previous iOS but Setting Build Active Architecture Only to YES in iOS 8 did the trick.

enter image description here

5
votes

I ended up getting my project to build by (1) turning off build active archs only (2) removing arm64 from valid archs and (3) making sure that the Pods project was building for only armv7 and armv7s.

Also worth noting here, that at the time of writing this edit, Salesforce mobile SDK was not available for arm64

2
votes

I just changed the Debug from Yes to No,

Build Settings -> Architectures -> Build Active Architecture Only -> Debug -> NO.

This one fixed my error.enter image description here