iOS 6 Xcode 4.5 unsupported architecture armv7s - ios

When trying to archive an app for an Ad Hoc release, I am getting the following warning:
iPhone/iPod Touch: application executable contains unsupported architecture(s): armv7s (-19031)
I am really not sure why this is happening for two reasons:
The only non-foundation framework I am using is the Facebook SDK, which is the latest version
I successfully archived the app last week and the only things that have changed since then are purely coding changes.
Also, I have tried archiving with and without an iPhone 5 plugged in, and I receive the error both ways.
Does anybody know how to fix this?

Quick fix is
Remove armv7s from
Project -> Build Settings -> Architecures
Updated ::
Now change Build Active Architecture in Build Settings to No to Yes.
But even this is not a pure solution to this problem.

I could archive and validate my projects by changing status of 'Build Settings -> Build Active Architecture Only' from 'No' to 'Yes'.

Same problem here today when submit my app (update) to appstore.
I clearly remember that its last version was submitted with both armv7 and armv7s set and succeeded, but now Organizer told me :
"iPhone/iPod Touch : application executable contains unsupported architecture(s): armv7s"
to remove armv7s is simple, but my app is Universal, will the armv7s-removed app run on all iOS devices (iPhone 5 for example)? when should i build with aremv7s?

Same issues here, app passed validation before, but after a quick code change, no go. Could this possibly have something to do with ipods? Seems to be a recent issue, as of yesterday.

Getting the same result as 21k. I submitted a binary with both armv7 and armv7s to the App Store last week, and it passed validation as well as the review. Now I tried submitting an update to the same app with the exact same project settings (other than the usual version number bump), and it fails validation.
In fact, I try validating the archived app from last week and now get the same error. So something must have changed on the App Store's side.

Go to Project ---> Build Settings and scroll down to the Architecture setting.
You will probably see the value $(ARCHS_STANDARD_32_BIT) listed under Architecture.
If so, double-click $(ARCHS_STANDARD_32_BIT), select it, and click the minus button to get rid of it. Then click the plus button and write armv7 and press Enter.
You have now removed armv7s, which was unsupported. Try it again and things should be good.

Removes armv7s architecture from menu Build settings > Architectures. At that point must appear valid architectural amrv7s and amrv7. Removes only finished in s. If the menu doesn't appears, notice that it is set to "All" and "Combined" in the search bar.

Related

How to get CocoaPods-based project to work in the simulator?

I'm trying CocoaPods for the first time, because I've inherited a project that relies on it for several libraries. Articles like this one make it sound like it should all Just Work, even in the simulator.
But it's not working for me — I get an "Undefined symbols for architecture i386" for every class defined in a pod library. Moreover,there are a bunch of ld warnings along the lines of "ld: warning: ignoring file blah/blah/Build/Products/Debug-iphonesimulator/SocketRocket/libSocketRocket.a, file was built for archive which is not the architecture being linked (i386)". I get one of these for each CocoaPods library.
How do I get Xcode to build the pod libraries for the simulator (or link the correct ones, if they're being built)?
OK, I've managed to make it work, though I don't know if it requires both of these steps:
Deleted the derived data, as suggested here
In the Pods project, changed "Build Active Architectures Only" to "No" for Debug as well (it was already set to No for Ad Hoc and Release), as suggested by some of the comments here.
I know that step 1 alone didn't do it... but I don't know whether step 2 by itself would have sufficed. Certainly both of them together did the trick for me.
Adding this answer in case it's helpful to anyone.
To my surprise, it was the simulator version that I was using; iPhone 5 wasn't supported. Xcode gave me no sign of this until I switched to an iPhone 6 simulator, which worked. When switching back to iPhone 5, Xcode then complained that "MyApp does not have an architecture that iPhone 5 can execute."
This is all true and I knew that, but I didn't think of it as the previous error Xcode was giving me was that -lPods-MyApp was missing.

iOS App Requires arm64?

I uploaded my app to Xcode where it says the build requires arm64. This excludes iPhones 5/5c and lower from using the app. However, I want iPhone 5/5c to be able to use the app and must have required arm64 by mistake. I think it must be something in the info.plist but have no idea.
Things I have checked:
(1) The info.plist does not have a RequiredDeviceCapabilities line.
(2) Under Build Settings in Xcode, armv7, armv7s, and arm64 are all valid architectures.
Any help you can offer would be incredible. I have attached a screenshot of my info.plist and if you think it may be something else and need more information please comment and let me know! Thanks!
Note - this answer has been refined based on the comments to my original answer.
Apps uploaded to the App Store require 64-bit support and the normally accepted method is to build the app with multiple-CPU support.
You want build active architectures set to YES for the Debug configuration and NO for the Release configuration.
This does not change the arm64 requirement, as that is not an Xcode requirement, but rather an App Store requirement. In effect there should be nothing to change from the default Xcode project template.
So, simply go to build settings > "build active architecture only" and set it to "NO"
Hope this helps someone!

IOS Application loader shows bundle error, with armv7s and armv7

I have already waste 3 days "solving" this problem (actually I have tried everything i could imagine but get nothing).
While binary uploading of my application i get the following error: ERROR ITMS-9000: "this bundle is invalid. armv7s are required to include armv7 architecture." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage).
I have read, that i have to unplug my iphone. Should i do that while binary uploading, or when?
Select Project Name Blue icon:
In Build Settings Search for 'arch'
Make sure that you've included armv7 in your release code. You have to open the two areas and make sure that armv7 is typed into either Valid Architecture or Architectures. The architecture used is a union of both settings so just be sure that armv7 is in one or the other section.
BTW - For help with other validation issues see this technical note from Apple.
1.Unconnect iOS device from your Mac,
2. Dont select any simulator, just leave it as it is, iOS device option
3. Archive it
4. publish it

iTunes connect architecture issue during validation

Im going to submit an app, but when validating I get an error:
The following issues were found during validation:
iPhone application executable is missing a required architecture
I have searched and found that I need to set
Build only architecture only
in build settings/ architecture
well this is in no [unchecked??], also tried with YES, but not working either.
Also would i have to add armv6 in Architectures?? [even when in valid architectures i have v6 and v7??]
how to do it?
when i go to add one, it just gives me a blank space to type, what to type to include it?, in case this is what i need??
Thanks a lot!
You seem to be using a beta version of XCode. Revert to a standard release and try again. Apple don't allow submissions from beta versions.

iOS Application Missing Required Architecture, even when listed

When building an iOS project inside Xcode 4 for Archiving, the error:
iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)
continues to occur. The screenshot below shows the Build Settings. I have tried all of the common fixes, but none of these seem to work.
My final thought relates to the first linked question. Does it matter that for "Standard", armv6 isn't listed? If so; how should it be added?
This project is a new Xcode 4 project; only a view controller has been added from the default.
I had the same problem. In your picture, try adding an architecture to the architectures field and name it armv6. That solved it for me.
Project -> Edit project settings -> in Build tab search with "active" then unselect Buld active arch only
If you uncheck "Build Active Architecture Only", then it will build all the valid architectures.
On the new Xcode(4.5) for supporting iPhone 5 screen the only method that works for me is to set the target iOS version to 4.3 as minimum (the valid arc should be armv7 and can include also armv7s, but you must delete armv6!), Anything else I've tried including all the answers here didn't help and I got the error you mentioned.
I was having this problem and was very confused because the error that occurred with it said I needed armv6 because I had a deployment target lower than 4.3, but I was sure my deployment target was 4.3.
I have two targets in my project and was looking at the build settings for "all" instead of the individual targets. Don't' know why, but even though the settings for "all" showed a deployment target of 4.3, the deployment target shown in the individual target build settings were both 4.2. I changed those for each target and both errors went away.
Remove iphoneossimulator from supported platforms for the distribution/release build configuration. You cannot have that for distribution, it is only for your debug configurations.
Check the image below for distribution configuration (ignore release config).
My Answer May help You:
I had this problem even after following the accepted answer and found the following to work:
In your Info.plist, add an entry for Required Device Capabilities. This should be an array and will have two entries.
Item 0 : armv6
Item 1 : armv7
It will look like this:
Required device capabilities entry
"At least one of the following architecture(s) must be present: armv7"
I had this error message, and it didn't make sense to me.
I already had armv7 in the list of architectures for my iPad-only app, and, yes, I did have "Build Active Architecture Only" set to No.
But - I also had armv7s in the list of architectures.
I removed armv7s from the list, and then the error message disappeared.
Perhaps in XCode 5, Apple will change the message from
At least one of the following architecture(s) must be present: armv7
to a more accurate
Only the following architecture(s) must be present: armv7
I live in hope.

Resources