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
Related
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!
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.
I have read through all of the other questions related to this topic, and can not find my answer. My project is using route-me. It builds just fine for the simulator, and for a connected iPad. The archive for ad hoc will not build. I had successfully produced an ad hoc archive - and installed it - prior to implementing route-me. My error is:
Undefined symbols for architecture armv7:
"_ApplicationVersion", referenced from:
-[RMWebTileImage startLoading:] in libMapView.a(RMWebTileImage.o)
"_ApplicationNameFromBundle", referenced from:
-[RMWebTileImage startLoading:] in libMapView.a(RMWebTileImage.o)
ld: symbol(s) not found for architecture armv7
My library is properly linked - it builds for simulator and iPad error free. I do have
[RMMapView class];
in the view controller that is displaying the map. Prior to having that line, my app would crash if installed from the archive with iTunes - although it would not crash if installed from Xcode. Now the archive will not build at all. (But I still believe the above line has put me on the right path).
I have tried every solution that might apply that I have been able to find here. If I remove the references to RMWebTileImage.h and RMWebTileImage.m - I get the same errors, except then it makes sense. But when I add the references back in, I still get the error, as if the files were not even referenced.
Any help would be appreciated.
It looks like the static library of route-me does not have the armv7 symbols. Check the build settings of the library and make sure the architectures build settings are set to build for armv6 and armv7.
You also always can use lipo -info on your static library to see all the included architectures.
If you are linking the Debug configuration, this is mostly set to build for active architectures only. Make sure the projects build settings are identical to the route-me project settings.
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.
I am getting this error when i try to archive my project:
warning: iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)
Unable to validate your application. - (null)
I have checked my build settings but i just don't see ARM6 in the options, only 7.
Any help will be appreciated.
Shni
Manually add armv6 in 'PROJECT' by double clicking the armv7 bit, deleting what's there and adding armv6 and armv7.
Set "Build Active Architecture Only" to NO;
Change $(ARCHS_STANDARD_32_BIT) to armv6 and armv7;
Make changes in "PROJECT", not "TARGETS".
In addition to adding the armv6 architecture, I had to remove the armv7 entry from my apps info.plist "Required Device Capabilities" entry in order to get my app to run on my old iTouch.