I'm attempting to upload my first app to the app store using xcode 4.3, but can't get past this error... "application executable is missing a required architecture. At least one of the following architectures must be present: armv7" I looked up the issue. Their are several post on stackoverflow addressing the issue, but none of the suggestions listed worked. I attempted to add armv6 and armv7 to the build settings, but the errors still persist. Any suggestions would be welcomed. Thanks.
screen shot here..
http://dl.dropbox.com/u/2813968/Build%20Settings.png
For Xcode 4.5 at least, set the deployment target to at least iOS 4.3 and that will resolve it. Earlier versions of iOS and armv6 are almost extinct.
Make sure that these settings match your Target and not just your Project settings.
1) Left-click project icon (blue icon, under "Run" button).
2) Next to the project icon (to the right of it), left-click on project name under "PROJECT" (White background).
3)Select tab "Build Settings" and look for tab "Build Active Architecture Only" -----change to -----no
Related
Hi i am using iAd Banner in my test aap.It works fine with 4.0 Sdk but when i went with SDK 3.0 or before ,it crashes without showing anything.I read that weaklink will help me regarding this problem but as per my thinking it crashes when it doesn't find the framework.I do not even know that how to use Weak-link.Please help me to fix this problem.
Expand the Targets directory, right click , and choose “Get Info”. Click the Build tab, make sure “All Configurations” is selected, and navigate to Linking\Other Linker Flags. Double click on that entry, click the “+” button, and type “-weak_framework iAd”.
When allocating your ADBannerView, first check to see if the OS version supports it:
if(NSClassFromString(#"AdBannerView")) {
//Allocate ADBannerView here
}
Then in the build settings of your target, add -weak_framework iAd to Other Linker Flags in the Linking section.
Edited as per Jonathans recommendation.
I am patching upp an application from iOS 4.2 to 4.3 using new xcode4.
With no changes made, except setting iOS to 4.3, I created entitlements and go!
Message I get is:
Undefined symbols for architecture armv6:"function", referenced from:
Ive tried to Clean the project, reinstalling xcode.
I uninstalled also the xcode4 demo version.
I also tried to set to Optimized armv7.
I would be very happy for some help, I'm stuck. Really.
Thanks very much in advance!
Here's how I got this problem:
I added a .h, .m and NIB from another project by dragging them onto my project navigator. Xcode didn't add them to the Build Phases properly.
My solution for this problem:
Click on the Project icon
Go to the Target in the navigator menu
Click on the "Build Phases" tab
Add the .m file to "Compile Sources" (either drag it across, or use the + button)
Add the .xib or Storyboard file to "Copy bundle resources"
Clean and build
For this type of error, this is what I typically see:
Undefined symbols for architecture armv6:
"_OBJC_CLASS_$_MyCustomController", referenced from:
objc-class-ref in SomeOtherController.o
ld: symbol(s) not found for architecture armv6
Almost every time I see this error it is caused by hidden/invisible characters in the import statement in SomeOtherController.h or SomeOtherController.m. So, look at both your .h and .m file, find the line that looks like this:
#import "MyCustomController.h"
Delete this line and retype it (do not copy/paste it -- you'll just repaste the offending hidden character).
Click on your Project name in the navigation window, choose the target you're building against, go to build phases, make sure the one Xcode's telling you that's missing is in there.
I had the same problem in Xcode5 for iOS7 with the TestFlight SDK. My issue was that the 'Build Active Architecture Only' was set to Debug only.
You can find the setting under 'YourProject'->'Build Settings'->'Architectures' Set the 'Release' option to 'Yes'.
This solved my problem - I hope it helps you, too! :)
I had this problem and I have just solved it.
It was a simple typo in the function name (forgot one letter) that caused the problem in my case.
I had the same problem in Xcode5 for iOS7 with the TestFlight SDK. My issue was that the 'Build Active Architecture Only' was set to Debug only.
You can find the setting under 'YourProject'->'Build Settings'->'Architectures' Set the 'Debug ' option to 'architecure arm7 arms7s'.
This solved my problem - I hope it helps you, too! :)
I had a similar issue popping-up all suddenly - more specifically, I was getting Undefined symbols for architecture armv6: "_OBJC_CLASS_$_CLLocationManager", referenced from: objc-class-ref in MyCLController.o
Note that I had CoreLocation.framework listed in my frameworks (in xcode' Project left nav, under the Frameworks folder); and had previously geolocation working just fine.
I got rid of the issue by re-installing CoreLocation.framework.
If you're not sure how to do that in xcode:
* click on your project in xcode left nav bar
* Go in the General tab of your project settings
* Navigate down - you'll see the list of frameworks installed under Linked Frameworks and Libraries
* Click on the + icon to add the CoreLocation.framework
In my case, I was doing this in a viewcontroller.m
#import <MediaPlayer/MediaPlayer.h>
Without doing Link Binary With Libraries with MediaPlayer.framework. After adding it, it compiled fine
If I choose "build and archive" from XCode, the Organizer is launched and I can see a list of my archived applications. I have 4 different applications (with several archives each), but the icon that's displayed in Organizer for one of the apps is missing -- there is a question mark icon instead. The app does have an associated icon and it validates and submits to the app store without any issues.
Why isn't Organizer picking up the icon correctly and how do I fix it?
Not a bug, I think you need to have at least one for Iphone and a bigger one for ipad (although my app is only designed for iphone...). I replaced the "icon file" key with "icon files" in the plist file and put one 52x52, one 72x72 and also one 114x114.
I think it is a bug. I see the same for all my apps that I Build & Archive.
Include in the info.plist for the key "Icon File" the value "Icon.png".
Do not forget to also include the image in the container.
I have the same problem, and I solved it by adding a "Icon file" in info.plist, and adding a "Icon files" after "Icon file", and the icon is fine in organizer. I think that might a parsing sequence problem.
Those of you that have upgraded to Xcode 4.3 and are having problems with the Application Icons showing up in the Organizer Window under Archives, look at this posting which includes a solution:
Xcode 4.3 : missing icons for iOS apps in Organizer's archives
When I had a missing icon in the organizer, I appended
.icns
to the Icon file name in the Info.plist file.
For XCode 4.2 :
Patrick Burleson's answer is correct, and worked for me. However, the icon that showed up in the organizer was still fuzzy/low-resolution after doing that. I fixed this by putting Icon#2x.png in the "Item 0" slot of 'Icon Files', instead of putting Icon.png there as I had before. No idea why I should need to do that, but in any case, if someone else has that issue, that may be the way to fix it.
I'm trying to create a universal iPhone/iPad app using this method: http://www.enscand.com/roller/enscand/entry/ready_for_ipad which is also described all over the web. My problem is that the "Upgrade current target for iPad" line is grayed out and doesn't appear at all when I right click the target.
I'm working on an app that I inherited from someone, and have tried this with an app that I wrote entirely myself (no problems on that one). And yes, I'm sure that I'm selecting the target.
Just wondering if anyone has any insight into what checks are being run that would cause this option to be unavailable.
It took me a while to realize that you have to have a target selected before the menu item will become enabled.
I figured out that you have to select the target from the window on the left "Group & Files" for that "Upgrade Current target for ipad" to show.
I found the solution. After upgrading first target just rename Resources~iPad group in Groups&Files (e.g. to ResourcesFirstTarget~iPad). After that you can upgrade your other targets with "Upgrade Current Target For iPad".
I had this problem because I was trying to do it with the xib file selected, not the item under the the 'Targets' folder.
I just found that my project was set to "iPhone" for Distribution, but it was still set to "iPhone/iPad" for Debug. After switching to "iPhone" for Debug also, the option to convert to a Universal app became available.
Im not sure if this is an actual solution but I solved this problem by selecting the target, going to "Project" and setting the Active Build Configuration to "Release". Update Current Target for IPad then became enabled.
I deleted the "Resources-iPad" group and voila - the "Update Current Target for iPad" became enabled.
I was having the same problem, what I did to solve it was the normal thing:
- select target in Groups and Files
- (i.e change it from 'iPhone/iPad' to 'iPhone').
and it was grayed out...
- so I've cleaned the project (Build/Clean All targets)
It solved my problem, so I advise you to after make some changes that supposing would made it work, to clean the project afterwards!
Hope it can help someone.
I've found the same problem but can upgrade if I right click the target rather than using the menu item.
Further more I've just realised that the menu item does become ungrayed out if you select the target in Groups & Files not in the drop down at the top.
I don't know if this post is still active.
In project info, take a look at "Architecture", if there's more than one entry, the "Upgrade target for ipad" is greyed.
Set you app to target iPhone in both the Project->Edit Project Settings: All Configurations
and in the side menu, where you right click the target ->Get Info same type of menu.
To be able to click the "Upgrade to Ipad(...)" you have to click and select the target. Then it will work.
I solved this problem by right clicking on the target -> get info -> build, and changing the targeted device family from iphone/ipad to iphone.
No biggie, but when I add the AVFoundation framework for the iPhone, it turns red for some reason I'm unable to figure out why. The project will not compile unless I add this framework, and if I do, Xcode will mark the framework red (apparently that means xcode cannot find the framework), but yet it will work.
This is quite annoying. Any clue what I might be doing wrong here?
Try adding AVFoundation framework via your target.
Look for your target under "Groups and Files"
"Get Info" for it
Click the "General" tab
At the bottom right of the window click the "+" button
At the top of your list you should find AVFoundation, add it.
close Xcode
delete your project
shut down your mac
take the mac back to your boss and tell him it's not working
wait until they figure out what it is
if this doesn't work, find a new job that doesn't require the use of a mac
All I had to do was open up the "General" settings tab for the project and change the "Base SDK for All Configurations" value. It was set to an SDK that I no longer had installed.