1
votes

I was trying to submit my app via application loader, and this error came out :

To process your delivery, the following issues must be corrected: 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

I have updated Valid Architectures and Architectures section of Build Settings in target to include "arm64". Set Build Active Architecture Only - NO. Did clean and build, and then these errors came out:

Apple mach-o linker error - Undefined symbols for architecture arm64 in EGCryptoProvider

EGCryptoProvider is a library I'm using to handle ecryption/decryption of sign certificates. I assume this error means this library doesn't support arm64 architecture. My question is, is there a workaround to this error, or is it possible to not include a support for arm64 architecture in my project in order to submit it to AppStore?

1
Just like @Sanjay Mohnani has mentioned, your EGCryptoProvider binary doesn't support 64bit architecture. To make sure you can run lipo -info. Try to build a fat binary for your library (if possible). Here's a tutorial: raywenderlich.com/41377/…FlySoFast
@SantuC it's totally different than that question you have mentioned. I know the reason for my problem, I'm not asking why this happened. My question is, is there a way to workaround this error, or to not include a support for arm64 architecture in my project in order to submit it to AppStore?macL0vin
@FlySoFast you are absolutely right, a fat binary for EGCryptoProvider with arm64 architecture is required to be created, but it will only be possible if source code for the EGCryptoProvider is availableSanjay Mohnani

1 Answers

3
votes
Apple mach-o linker error - Undefined symbols for architecture arm64 in EGCryptoProvider

As the above error suggests 'EGCryptoProvider is missing architecture arm64', since it's not build for that architecture.

You should use the latest version of EGCryptoProvider, check if it's having the support for arm64 architecture.

If it doesn't support arm64 architecture than the only thing you can do is add architecture arm64 in EGCryptoProvider and recreate the static library using lipo command, re integrate it in your project. But you can only do so if you have the source for the same, otherwise you should contact the developer of the EGCryptoProvider to provide the library with the support for arm64 architecture.