Xcode 10 - invalid bitcode signature while archiving - ios

After switching to Xcode 10, I've been getting invalid bitcode signature when I try to archive.
After hours of struggle, I stumbled upon this and was able to archive after removing armv7 from valid architectures.
I really cant release the app with armv7 removed since there are lot of users who uses iPhone 4s & will be in dark if I do this.
I use both static and dynamic frameworks in my application and all of them support armv7 architecture by default.
Did anyone else face this issue? Is there a workaround to include armv7 as valid architecture?

Set Build Active Architecture Only is Yes

Related

Xcode 10 : Not possible to archive with ARMv7

I encountered an issue since I updated to Xcode 10. Archiving my project leads to an infinite stuck. As I found in this Stackoverflow topic, we can fix this by removing ARMv7 from valid architectures. It did work for me, but it seems super weird : does it mean this is the end for ARMv7 iOS architectures ? As I could see it in this very useful matrix, devices like iPhone 5 or iPhone 5C use ARMv7 and, when they are up-to-date, use iOS 10.3.3 (which is kind of recent). So, this is the end ? We can not build apps for them anymore ?
If there is a way to continue to archive with both ARM64 ans ARMv7 architectures, I would be glad to know how.
Thanks for your concern.

missing 64-bit support when validating IOS build

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.

App missing 64-bit support [duplicate]

I sent an app yesterday for review, with no problem. I then realized that I had a very little fix to do (changing the max zoom level of a map from 19 to 18, nothing else), so I removed the binary from iTunes Connect, and tried to resubmit.
Now I'm having this warning :
I don't understand why, as my architectures are :
architectures : armv7
valid architectures : armv6, armv7, armv7s, arm64
The app runs fine in the simulator. If I try to use the standard architectures (armv7, arm64) as recommended in the warning, then the app won't build and I get :
Undefined symbols for architecture x86_64
ld: symbol(s) not found for architecture x86_64
I'm using the lib route-me, and I set the same architecture settings.
Use "Standard architectures" like this:
Architecture: "Standard architectures" arm7, arm64
Valid Architectures: "arm64" , armv7...
Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)
like this:
Additionally, unplugging iphones and ipads from the mac has been known to help, especially if they are 32-bit versions.
After confirming the correct architectures, make sure your device is NOT connected to your computer when ARCHIVING the final build to submit to the App Store.
The reason this warning appears is because the DEVICE you have connected is probably not arm64 compatible.
As Tony wrote, it's important to have in both lines those settings.
Since my (and obviously your) project was created yet before arm64 was added to standard, it is not reflected in "Valid Architectures" even if it is shown as Standard.
What I did:
I went to Project (vs. Target) configuration
Typed "arm64" in the Valid Architectures (it's automatically reflected in targets and schemas
After clean/build I even get some warnings about improper conversion of float to CGFloat, etc., so the settings obviously applied.
The validation warning disappeared too!
Unplug your physical device from Mac. In XCode on device list choose iOS Device and create Archive again. It worked for me.
Today I solve that problem with the following steps:
Building Settings:
Architectures: Standard architectures(arm7,arm64) - $(ARCH_STANDARD)
Valid Architectures: armv7 armv7s arm64
Clean and build your app with the iPhone connected
Disconnect your iPhone and check the top bar if is in "iOS Device"
Archive
Validate and Submit
Just Create a New Project using latest xCode version and find the Build settings. The new project created using latest version have 64 support by default.
Okay this was insane.
I tried every single answer. But it worked only when I placed arm64 before armv7 and armv7s in Valid Architectures.
P.S. : xcode version : 7.2
I solved the problem by changing,
Architectures: arm7,arm64
Valid architecture: arm7,arm64
Build active architecture only : Yes
I submitted success by config as the image:
(Archived with real device)
Got rid of every warning. Went through everything over and over. Found the one word answer here above.
"Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)"
My iPad is not 64 bit. Put in NO for Build Active Architecture and my submission worked!
Change your iOS development target to at least 5.1.1 or alternatively delete the standard architectures setting and re-apply it. You might have seen a warning that arm64 is not compatible with your build target. On the overview page, check both the build and target "deployment target" settings. In my case, the target was 6.0, but the project was 5.0.
Also, check "Valid Architectures" in both your target and your project. I had the right settings on the project but not on the target. After this, it worked for me.
Switch between project/target on the overview page in the top left corner of the box.
Please check Build Active Architecture option. Set it to NO.
It works for me.

Error creating LLDB target at path, Xcode 6 GM seed,the screen stuck [duplicate]

I'm getting this error whenever I build in XCode 6 beta 4. It seems to be making my app insanely slow.
Warning: Error creating LLDB target at path
'/***/***/***/***.app'- using an empty LLDB target which
can cause slow memory reads from remote devices.
What exactly does this mean and how do I fix it?
Thanks in advance!
Did you use Architectures=$(ARCHS_STANDARD_32_BIT) and run your app on a 64 bit device? (iPhone 5S or iPhone 5S simulator)
Apple seems to be stricter with apps which don't support 64bit. So if there is no specific reason, I think it's better to include arm64 in your build architecture
NOTE ABOUT 64-BIT ARCHITECTURE
An app extension target must include the arm64 architecture in its Architectures build settings or it will be rejected by the App Store. Xcode includes this architecture with its “Standard architectures” setting when you create a new app extension target.
If your containing app target links to an embedded framework, the app must also include the arm64 architecture or it will be rejected by the App Store.
For more information about 64-bit development, see 64-Bit Transition Guide for Cocoa Touch or 64-Bit Transition Guide for Cocoa, depending on your target platform.
Source: https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW1
This warning is solved by changing Build Settings :
Select Project -> Build Settings
Change 'Architectures' to 'Standard architectures (armv7, arm64) - $(ARCHS_STANDARD)'
This will prompt an alert stating iOS 5.1.1 and above are supported. Click 'Change Deployment Target to 5.1.1'
Repeat steps for Target (if not changed automatically)
Also, this is preferred build setting since Apple is forcing developers to build apps on 64 but architecture. Apple document Link
Double Check Build Settings => Valid Architectures for both Project and Target.
Mine used to say: arm64 armv7 i386 (The one causing the error was i386)
I replaced it to : arm64 armv7
I hope that helps.
In Xcode 6.4 , Swift 1.2. I had to edit both the Project and Target to the correct arm verisons (arm64, armv7 and armv7s). Take a look:
My "Architectures" included arm64 but I had to add arm64 to "Valid Architectures" in the target.
In my case I had to change Build Active Architecture Only to YES for the Debug configuration.

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!

Resources