No architectures to compile for (ARCHS=arm6 arm7, VALID_ARCHS=armv7) - iphone

I am constantly getting below error while building app:
No architectures to compile for (ARCHS=arm6 arm7, VALID_ARCHS=armv7).
I tried adding arm6 arm7 to architecture but didn't work. I also tried just arm6 and arm7, but still not.
Also, I'm setting deployment target to 4.3 iPhone.
I have Xcode version 4.3.1.
Please help!

You must take two steps:
Go to Project Target > Build Settings > Architectures
Delete whatever you see there, and then add these rows one by one:
armv6
armv7
There are no 'save' buttons there, so what I do, is adding another blank row, pressing enter, removing it, and then clicking out somewhere else, so that I make sure I have both of them added:
Now go to the AppName-Info.plist file, and look for the key "Require device capabilities" and delete it all.
Now it's done.

set "Build Active Architecture Only" = NO
this worked for me after upgrading an old project to xcode5

That works fine for me:
Set architectures to "Standard (armv7,armv7s)" and after set manually Valid architectures to armv7 armv7s

Not arm6 and arm7, try by adding armv6 and armv7 as architectures.

Add architectures only armv7. Remove armv6 then try it.

I am using the latest Xcode and iPhone5. I had it set to armv7s and armv7. It took care of my issue which was the No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv6 armv7) error
.

To include 64 bit:
Set architectures to "$(ARCHS_STANDARD_32_64_BIT)" and after set manually Valid architectures to armv7 arm64. My Xcode version was 5.1. Base SDK was iOS 7.1
Deployment target was 6.0.
In another setting configuration:
Set architectures to "$(ARCHS_STANDARD)" and after set manually valid architectures to armv7 arm64. My Xcode version was 6.2. Base SDK was iOS 8.2
Deployment target was 6.0.

Related

xcode validation error : application executable is missing a required architecture

our clients also reported same error that discussed here:CLICK HERE . None of the solution in that fixed my problem…may be I did in wrong place... ……………..
Error : iPhone/iPod Touch: application executable is missing a required architecture. At least on of the following architexture(s) must be present: armv6 …………
Help me to set right settings in plist and Xcode target. OS supported iOS 4.3 and above and device both iPhone/iPad/iPod.
Here is sample Xcode project: http://po.st/0fc5AU
Please updated this sample and send me. I tried a lot but confused with all solution...again reported same bug.
Add
armv6 armv7
to the Architectures and Valid Architectures build settings of your target.
PS: if you're using cocos2d v2.x this won't work, it doesn't work with armv6 devices since they only support OpenGL ES 2.0.

Cannot build to 4.2.1 device with Xcode 4.2

I recently upgraded my project from Xcode 4.0.1 to Xcode 4.2 - and everything went pretty smoothly, I did some debugging in the simulator and then I decided to build with device.
My device is a 2nd gen iPod Touch running 4.2.1, so I initially attempted to build to it and got this error:
An unknown error message 'IncorrectArchitecture', was received from the device.
As you do with most error messages, I googled it, and found this question.
After reading the answer, I proceeded to check up on my target architectures, and it turns out I only had armv7 as an architecture to build for. - I added the armv6 architecture, as the answer suggests, but when I built it, I got a load of build warnings/errors such as:
ignoring file /some/path/to/a/staticlibrary.a, file was built for archive which is not the architecture being linked (armv6)
This occurs on all the static libraries in my project, such as the kal library - libkal.a and all the three20 libraries.
Those libraries linked fine in Xcode 4.0.2 - and it also built fine to my iPod - so why will the armv7 architecture not build AND the libraries not link for armv6 in Xcode 4.2? - I'm really confused - any suggestions would be greatly appreciated.
Add ARMV6 to your build settings like this:
Select your build settings
Scroll to Architectures
Doubletap on the existing entry
Tap on +
Enter armv6
Tap on Done
You will need to do this for all projects that are linked with your app (e.g. three20).

Is it possible to target older iOS versions when using Xcode 4.2 and iOS 5 SDK?

I just recently downloaded the Xcode 4.2 with iOS 5 SDK package and I immediately noticed that I am unable to use my iPhone 3Gs with iOS 4.2.1 for debugging. I am only able to debug and test on my iphone 4 with iOS 5 installed.
For any of my devices running any iOS less than 5.0 Xcode just says "Finished running for iPhone3GS" and doesn't run it. I have my deployment target set to 3.0 because I am not using any features in my app above 3.0 and I want to be able to target all versions 3.0 or higher. I have all my provisioning profiles installed and up to date.
I have quit and restarted xcode, I have cleaned the build multiple times. I have tried adding armv6 in the archtecture build settings, but nothing will allow me to build and run my app on my old phone with ios 4.2.1.
My question is, is it possible to still make apps with the new SDK work for iOS versions lower than 5? How can I be sure that my app will still run on lower iOS versions if I am unable to install them on my old phone?
Edit:
OK it looks like iOS SDK 5 dropped support for armv6 by default. What you have to do is add armv6 in the Architectures field under Build Settings for both your Target and your Project. Then your app will be able to run on iPhone 3G devices.
Answer can be found here
How to build for armv6 and armv7 architectures with iOS 5
I was having the same issue trying to get a newly created Xcode 4.2 project running on an iPhone 3G 4.2.1. Here is how I was able to get it to run.
1) Change the Target's "Build Settings" ==> "Architecture" from "Standard (armv7)" to "other". Add armv6 and armv7.
2) Change the Target's "Build Settings" ==> "Valid Architecture" to armv6 and armv7.
3) Change the Target's "Build Settings" ==> "iOS Deployment Target" to iOS 4.2.
4) Open the projects *-Info.plist, remove the setting "Required device capabilities" (note it required armv7)
btw I figured this out when I tried to manually add the app via the organizer and it reported:
Can't install application
The Info.plist for application at /Users/.../TestsDebug.app specifies
device capability requirements, which are not met by Dev iPhone 3G
All should work after that. Talk about a PITA.
Go to Xcode > Preferences > Downloads and install debugging support for older iOS versions.
mmorris got me close to resolving the issue...
In the Info.plist, I had to set the Required Device Capabilities to armv6, not armv7
Hope this helps others out as well.
You need to connect the phone and then go to the organizer. Xcode should automatically request the older version.
See the developer page for more info. It was described in the notes for the 4.2 beta
I encountered a similar problem trying to run my app on an old iPod Touch. I upgraded to Xcode 4.3.3 and the app would no longer run in the debugger for me on older hardware.
I believe the other comments here about "Architectures" and "Required device capabilities" are important details to specify correctly. Unfortunately, they weren't enough to fix my problem.
In my case, I found the build scheme to be the culprit. Xcode 4.3.3 prompted me to switch from the GDB debugger to LLDB when it upgraded my project. When I changed the Run action of my scheme back to GDB, I was able to run the app again on my old hardware from Xcode.
I found out that I had to add armv6 to architectures, but still did not work. And now I have removed armv7 from required capabilities, and that was it! It worked!
This worked for me and should work for you if you had an older version of Xcode previously. If not then you should follow the advice given by others to obtain the SDK from an older version of SDK:
sudo cp -a /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
This command is only a little bit different from that shown by others, but those commands dropped the files in the SDKs folder itself for me - we want a subdirectory of it to be created with the appropriate name.
In my case there was a redundant line
in Required device capabilities
I just removed it...
Hopefully it will help someone else.

iPhone app on Xcode 4: Error while submitting app to Apple store: At least one valid architecture arm6 must be present

Could anyone please tell me why I am getting this error message while sending application to apple store. I have made sure that Application target settings have valid architectures armv6 and armv7!
ARCHS = $(ARCHS_STANDARD_32_BIT)
SDKROOT = iphoneos
ONLY_ACTIVE_ARCH = YES
SUPPORTED_PLATFORMS = iphoneos
VALID_ARCHS = armv6 armv7
Thanks.
I see that your ONLY_ACTIVE_ARCH is set to YES, which means that product includes only code for the native architecture as set in NATIVE_ARCH ("Valid Architectures" setting).
Please try changing "Build Active Architecture Only" to NO in "Build Settings" of your target. This way ONLY_ACTIVE_ARCH is NO, so XCode can build all the valid architectures which are specified in ARCHS ("Valid Architectures" setting).
For more details about build settings, check out Apple's doc Xcode Build Setting Reference.
If you're not using preview/beta version of Xcode, this should do the trick. Note: I never tried to make a distribution build on beta version and I have no idea how it can result in the error you describe.
Do you use XCode 4.2 preview version ?
You can't use beta and pre-GM version (for ios) to submit app in itunes connect

iPhone Compiler Fails: No architectures to compile for

I'm trying to implement the Cocoa plotting framework (Alpha Release 0.1) in my iPhone app.
I figured I'd first try to run the sample they provide. I attempted to open and compile the project located in /Source/examples/CPTestApp-iPhone/.
It says my base SDK was missing right off of the bat, so I edited the Project settings and the Active Target to use the iOS4 SDK, which I've done before for samples and had work. I'm not sure what to do. I'm running one of the newest Unibody Macbooks, with 10.6.4.
Here is the full error:
// - start - //
Check dependencies
[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=i386, VALID_ARCHS=armv6 armv7).
// - end - //
Thoughts?
I also went to the Build settings for the target(s) that failed and added "i386" to the valid architectures
Try this:
Project Build Settings:
Architectures: Standard (armv6 armv7)
Base SDK: Latest iOS Build Active
Architectures Only: Checked Valid
Architectures: armv6 armv7
Delete any sub settings in the Architecture build setting.
Target Build Settings:
Same at project settings.
Frameworks
Add the SystemConfiguration.framework to your project. - Not sure why this had any impact.
Clean all targets.
Build for the simulator.
The long explanation for this can be found on our blog: http://longweekendmobile.com/2010/06/15/fixing-the-missing-required-architecture-arm-in-file-when-developing-for-ipad/
Adding i386 to the Valid Architectures list worked for me!
For me it was that I had to add i386 to the VALID_ARCHS list. Odd, but it fixed my problem for simulator builds.
See this post.
You have selected as active architecture "active arch=i386 (your Mac)" but the project compiles for " VALID_ARCHS=armv6 armv7 (iPhone Device)", try setting the right arch in the project settings, so it is built for iPhone as it should be.
This project appears to pre-date iOS 4, so you need to open up the .xcodeproj file for the Core Plot library itself, too. It probably also has a broken reference to an old iOS Base SDK and may need the architectures updated.
This happens all the time with old projects migrated to SDK 3.2/4.0. You have to open the target settings and change everything to SDK 4.0 or 3.2. You can still have the target OS be 3.0 if you want that. If it still says "missing SDK" you neglected to change one of those settings to 4.0 or 3.2.
armv6 armv7 , Works for me in valid Architecture .
If you tried all method with "NO SUCCESS"
Try to run project on you device, if it works on device then it will works fine on simulator too.