Having an issue building for iOS. Getting "linking for arm (arm64) failed with Undefined symbols for architecture arm64: "____libinfoptr_mergZXing", referenced from: -u command line option
Any ideas what might be wrong? Let me know if you need additional details
When you get linking errors with iOS externals it means it either hasn't been compiled for the SDK or architecture you are building against. In this case it's telling you it hasn't been compiled against arm64. The good news it that there are universal binary builds (armv7 arm64) available for download from mergExt.com for up to iOS 8.2. iOS 8.3 builds will be coming ASAP.
Related
I have been trying to import this swift framework into a objective c project called CreditCardForm but it fails to run. It will run on a real iPhone but when it comes to the simulator it gives be this error.
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$__TtC14CreditCardForm18CreditCardFormView", referenced
from:
objc-class-ref in CreditCardVC.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code
1 (use -v to see invocation)
I have been trying to get it to run but it has only ran for the simulator only or the iPhone only.
Make sure the framework is built in both Device/Simulator
If the project is built only in “Simulator”, it would only generate architectures which would let the framework run specifically on simulators not on Devices. Or if the project is built in “Device”, it would generate architectures which would let the framework to run only on devices.
So build the project on both “Simulator” and “Device”.
https://medium.com/swiftindia/build-a-custom-universal-framework-on-ios-swift-549c084de7c8
Build a Fat Library
A fat library is simply a library with multiple architectures. In our
case it will contain x86 and arm architectures. The proper name is
‘Universal Static Library’. But we will stick with ‘fat library’ since
its smaller to write and that is exactly what our resultant library
would be. Fat!!! with multiple architectures in it.
https://medium.com/#hassanahmedkhan/a-noobs-guide-to-creating-a-fat-library-for-ios-bafe8452b84b
Hi i followed below procedure for generating libdb-cxx-6.1.a library.
https://ankitthakur.wordpress.com/2011/01/16/build-scripts-for-berkely-db-static-libraries-with-ios-development/
But after importing libdb-cxx-6.1.a and include files in xcode 5.1 i am seeing below exception
dyld: Library not loaded: /Users/rajaramesh/build7forios/lib/libdb_cxx-6.1.dylib
Reason: image not found
I changed mac o type to static library then i am choose a destination with a supported architecture in order to run on this device. I done build for armv7 only not i386 and armv7s architecture. I am implemeting ios application using cordova. Did i miss any thing. Please advise me.
Any advise would be appreciated.
Above problem resolved using following steps.
1) Build architecture for i386 architecture.
2) make realclean
3) Build architecture for armv7, architecture.
4) Got two lib_cxx-6.1.dylib for i386 and armv7.
5) Using lipo create command generated universal build.
6) imported in to xcode framework.
Thanks.
I have created a custom Objective-C framework. I would like to import it into any given iOS project and use its provided functionality on both the iOS Simulator and an actual device. To import the framework, I link it using the Build Phases > Link Binary With Libraries setting in the app's target. I'm then able to import it into one of my classes with this statement:
#import <CustomFramework/CustomFramework.h>
I can instantiate my framework's classes just fine, but when I try to run my project on a device, I get the following error message:
dyld: Library not loaded: #rpath/CustomFramework.framework/CustomFramework
Referenced from: /var/mobile/Applications/A61E882D-481A-4C0B-B4FD-69F5D24968BF/TestApp.app/TestApp
Reason: image not found
And if I try to run it on the simulator, I get a different error message:
ld: warning: ignoring file /Users/user/Desktop/CustomFramework.framework/CustomFramework, missing required architecture i386 in file /Users/user/Desktop/CustomFramework.framework/CustomFramework (2 slices)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CustomFramework", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
This occurs when I instantiate a class from the framework. If I import the framework but don't actually use it, my app builds successfully. It just errors whenever I instantiate a class from the framework for some reason.
To get the app to build on a device, I followed this SO answer. Instead of linking the framework, I added a new Copy Files phase in the target's Build Phases setting, set the Destination to Framework, and added my framework.
That works great; however, I'd like to test my app on the iOS Simulator as well. When I try to run my app on the simulator, I still get the "missing required architecture i386" error. I've tried the solutions proposed at just about every related SO topic I could find, and nothing has helped me resolve this issue.
Please note that I am trying to use my custom framework in a new Xcode project, so none of the app/build settings have been changed from their defaults.
How can I fix this error so that I can run my app on both the iOS Simulator and a device with my framework included in the project? Any insight would be greatly appreciated!
The issue was that the framework was not compiled for the iOS Simulator's architecture, which is i386. Xcode only compiles a framework for the target architecture, so if I built the framework for the iOS Simulator, it wouldn't work on a device, and if I built the framework for a device, it wouldn't work on the iOS Simulator.
I created my framework from scratch with help from this tutorial: http://www.raywenderlich.com/65964/create-a-framework-for-ios
The multi-architecture build script is what allowed my framework to run on both the iOS Simulator and a device.
I encountered this same problem with Xcode 7.1 when trying to build for the simulator.
Someone else said it worked for them under Xcode 8.2.1, so I tried building/running there and it worked. I didn't have to change targets or anything in my project.
So try upgrading your Xcode if you can, you will presumably get additional bug fixes as well.
I am trying to building the iOS Agent application for WSO2 emm on xCode 6.1
. I have got everything else working perfectly except the app compile. The instructions here are pretty non specific and don't even mention if your server url is the full url or just the ip.
https://ipetc/emm or if its just your ip address / domain.
The error that I get when compiling is not do with this but I get.
Unfefined symbols for architecture x86_64:
"_OBJC_CLASS_$ApiResponse", referenced from: objc-class-ref in ApiResponseTest.o
I assumed that the valid build arch was wrong but it doesn't include any mention of x86_64 in their downloaded xcode project
Any help is appreciated in this final step.
Thanks
Add architecture Arm64 to your project. EMM agent is bit old and it does not support this architecture in the release version.
Recently built an iPad Application using the Facebook Connect SDK. It was recommended to me that i change the architecture of the project to armv6 to allow the Facebook Connect SDK to work.
After changing the project to armv6, it works fine on the simulator and device, however when i try to submit the application to iTunes Connect I receive the following error whilst submitting:
iPad: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv7
So, I done some research and a simple alteration of the architecture (as follows) 'should' fix the problem:
However, the project fails to build with the following error(s):
ld: warning: ignoring file PROJECT/facebook-ios-sdk/build/facebook-ios-sdk.build/Release-iphoneos/facebook-ios-sdk.build/Objects-normal/armv6/libfacebook_ios_sdk.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_Facebook", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Someone correct me if i'm wrong, but it seems that iTunes Connect won't accept an iPad app binary without armv7, and the Facebook SDK won't allow the app to be build with armv7, right?
The only viable solution is enable the Facebook Connect SDK to be build with armv7 to which i've had no success with, i've read plenty of forums and posts that don't really come up with a solution that openly works.
I've been struggling on this for about 7 hours and i honestly don't know what else to do.
Has anybody submitted an iPad only app with the Facebook Connect SDK included? Would be interested to see what settings you have for your project.
Thanks guys, any help would be greatly appreciated.
Instead of waiting for the new release of Facebook SDK, you can include the Facebook Source code in to the project then compile. It should work for armv7 architecture.