missing 64-bit support when validating IOS build - ios

My MAC OS version is 10.8.5 and xcode version is Version 5.1.1 (5B1008)
I have an IOS app which i was trying to update to app store. In the usual process which i used to do everytime, now i have cleaned build, created an Archive(Product>Archeive) and tried to validate it by clicking on Validate button after archieve build has been created, but i was facing the below error
My build settings are
So whats the problem here ? and how to avoid this error ?
I read somewhere on google to update the valid Architecture with arm64, and when i added arm64 to valid architecture setting and when tried to create a build(tried to create an archieve) then i was getting a lot of errors and build/code was not working
So can anyone please take me through steps to fix the above issue ?
After updating Valid Architecture setting to below
and when tried to create an archive the build failed and the errors are
Edit
Also the framework in which my app was built on Cordova framework

You have no option but to add arm64 to Valid architectures. So removing it to avoid errors is not a solution.
Instead, add arm64 back to your valid architectures and try to solve errors.
If you cant solve yourself, search for solutions on this site, or ask new question, people will help you out..
In short, SOLUTION :
Add arm64 to your valid architectures and solve arising errors.

Type "arm64" in the Valid Architectures

As of Feb 1, 2015 apple allows the app to be submitted with arm64 support.
You have no option to submit your app without adding arm64 support.
By adding support for arm64 support, it will cause errors if you have used frameworks which do not support arm64 support.
You will have to update your frameworks which do not support arm64.
Also, update your architectures from Build Settings to Standard architectures(armv7,arm64) - $(ARCHS_STANDARD).
Once done, then and the only you will be able to archive successfully and submit the app to app Store.
Hope it helps you.

In order to support arm64 with Cordova follow this post xcode 5.1: libCordova.a architecture problems
Otherwise #Mayur Deshmukh and others are right! You have no choice but supporting arm64 now.

Looking at the errors you have received, it would appear that the cordova framework you have used does not yet support arm64.
I experienced the same problem with a different framework and was able to solve it by contacting the creator of the framework, i would suggest doing this to see if there is an updated framework available.

Related

Why the Missing 64-bit support happened when upload to the iTunes connect?

I try to upload the file via Application Loader. But I got the mail from iTunes store.
Missing 64-bit support - Beginning on February 1, 2015 new iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK. Beginning June 1, 2015 app updates will also need to follow the same requirements. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code.
But I already add the arm64 in Xcode like the following picture.
Why the Missing 64-bit support happened when upload to the iTunes connect ?
Did I missing something ?
I had same problem today I set Build Active Architecture to NO and it got submitted. Give a try
From this SO Answer and this SO Answer
Architecture: "Standard architectures" arm7, arm64
Valid Architectures: "arm64" , armv7...
Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)
Most commonly happens when I archive while a device is connected (as it affect the architecture).
(As mentioned in a comment by Martin to Shashi3456643's answer)
I faced the similar issue with Xamarin.ios deployment. Later found that it was third party library causing the issue. I have maps in my app using from Arc GIS. I updated my dll to latest provided and resolved my issue.

Removing i386 and x86_64 from an embedded Cocoa Touch framework when archiving

Urban Airship provides an iOS 8+ framework called AirshipKit.framework. Linking and embedding this framework works fine in both the simulator and device. However, when I go to archive the binary and validate it, iTunes Connect says the app contains code for unsupported architectures i386 and x86_64. How can I get Xcode to remove support for these architectures from the archived app?
Under Build Settings I have:
Architectures: Standard architectures (armv7, armv7s)
Build Active Architecture Only: Yes for debug, No for release
Supported Platforms: iOS
Valid Architectures: arm64 armv7 armv7s
You could use lipo to extract the arm code to a new file and submit that one, but it sounds like something is very wrong - you shouldn't need to do anything like this to submit, it might be a bug in Xcode. Which version are you using? Did any other settings in the build get changed (the text would be bold if the build setting is modified from the default)?
There is a new version of the Urban Airship SDK, 5.0.3
Are you still seeing this issue when building with the new Framework version?
I struggled with the same problem for a couple of days until I realized my own idiocy. My app is set to support 7.0+ and yet I still had the Airship.framework, which as the UA (Urban Airship) documentation strictly recommends, was only to be used for 8.0 +
I removed the framework and the validation came back success!
So if your app is inclusive of 7.0 or lower, then all you need is the libUAirship-5+ library. As #aschuman suggested, there is a new one available (libUAirship-5.0.3.a)

Validation error for iPhone app using ZBar SDK

I have an iPhone app (for iOS 7 & above) which uses the ZBar SDK. I'm struggling to update it for iOS 7 using Xcode 5.1.1.
I was getting this arm64 build error, but I've managed to fix that by recompiling libzbar.a according to the instructions here.
The app now archives successfully. However, when I try to validate it in the Xcode Organizer I get the following error: "This bundle is invalid. Apps that include an arm64 architecture are required to include both armv7 and armv7s architectures."
I have "Standard architectures (armv7, armv7s, arm64)" set for my project's Architectures and "arm64 armv7 armv7s" for the Valid Architectures.
I not sure what else to try at the moment, so any help would be much appreciated.
Unplugging my iOS device and re-archiving the build helped me.
I could not find anything that would solve this problem. After going around in circles for several days, I removed every trace of the ZBar SDK from my app and instead used Apple's AVFoundation for QRCode support. This option was not available prior to iOS 7, but now that it is life becomes a whole lot easier!

Duplicate symbol errors with AdMob SDK in Xamarin.iOS against ARMv7 and ARMv7s

I'm trying to integrate Google AdMob SDK into my Xamarin.iOS App. I installed the Google AdMob component from the Xamarin Component Store and got it working on both simulator and device with debug builds.
But as soon as I add ARMv7s under supported architectures in iOS Build options for release builds the compilation fails with errors like this one:
duplicate symbol _tohex in:
/Users/redent/Documents/workspace/MovieLend/MovieLend.Touch/obj/iPhone/Ad-Hoc/mtouch-cache/libGoogleAdMobAds.a(rc4.o)
/Users/redent/Documents/workspace/MovieLend/MovieLend.Touch/obj/iPhone/Ad-Hoc/mtouch-cache/libGoogleAdMobAds.a(GADGestureCFiles.o)
ld: 42 duplicate symbols for architecture armv7s
(Complete compilation log file)
I'm using other native libraries without problems, and I think that others are using the AdMob SDK without issues. Any hints?
Hello in order to get this working you need to download the latest version of the AdMob Component v6.5.1.2 this contains a fix for it. Additional to that you need to add --registrar:static to your additional mono touch arguments like this.
You can read more about type registrars here.
Hope this helps.
Alex

Xcode 4.5 armv6 error when not having armv6 in target?

Hello,
I am currently getting the follow errors. I have tried everything posted before in other forums.
This is Xcode 4.5
I know it doesn't really support armv6,
I have tried manually adding it and it still comes up.
I have tried switching over the Build Active Architecture Only to NO, and get over 100 errors regarding armv6. I feel like I have tried everything people have been posting and nothing seems to clean up the problem!
Check the "Valid architectures" for any traces of armv6 as well as "Architectures" in your build settings for both your project and your target.
You may need to check that the minimum supported iOS version you are targeting is at least iOS 4.3.

Resources