I have used pod "SinchRTC" and I am able to build and run the project in debug mode. But now when I am achieving the project, I am getting the error :--
Undefined symbols for architecture arm64:
"___isPlatformVersionAtLeast", referenced from:
-[RTCMTLRenderer setupTexturesForFrame:] in Sinch(libSinch-dist.a-arm64-master.o)
-[RTCMTLVideoView frameRotation] in Sinch(libSinch-dist.a-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is this a framework issue because I am not getting any solutions?
I want to upload this build. Can you please provide me a solution for this.
Thanks in advance.
Make sure you have arm64 architecture turned on in your project's build settings. Also, if you are trying to use the same binary for both iPhone 5 and 6 (and others), make sure that and that 'Build for Active Architecture Only' is turned off.
Or
Try this
isPlatformVersionAtLeast are in iOS SDK 13, so would require Xcode 11 beta. I think you are getting the error because you are using an earlier Xcode version Xcode 10.3 .
Related
I've a problem to build iOS project after recently upgraded my project from Unity 5.6.4 to 2018.4.19f1. Everything is ok to export, build and run on my device, but if I archive the exported project, then the error occurs:
Undefined symbols for architecture armv7:
"query_call_back(callback_func_type)", referenced from:
il2cpp::vm::MetadataCache::Initialize() in
libil2cpp.a(External_il2cpp_il2cpp_libil2cpp_vm_6.o)
il2cpp::vm::MetadataCache::Initialize() in
libil2cpp.a(External_il2cpp_il2cpp_libil2cpp_vm_6.o) ld: symbol(s) not
found for architecture armv7 clang: error: linker command failed with
exit code 1 (use -v to see invocation)
Environments:
Unity 2018.4.19f1
Xcode 10.1 (10B61)
Appreciate if anyone can help!
Solution:
After hours of upgrade unity again to 2019.3.4f1 and fix mirror error.
Finally, Xcode archive the project successful!
This looks like a bug, try to upgrade Unity to the latest stable version.
Undefined symbols for architecture x86_64:
"_BROADCAST_MODE_IBEACON", referenced from:
-[MainViewController tableView:cellForRowAtIndexPath:] in MainViewController.o
"_OBJC_CLASS_$_TZBeaconSDK", referenced from:
objc-class-ref in MainViewController.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 take that error when I want to use simulator. There is no problem when I build it on iPhone. There is only problem when I use simulator. I have tried to change Architectures from Build settings, error text changes as i386 but problem is same.
I use that sdk; TZBeacon
Is there any problem with sdk? Could you help me to solve that problem?
Your library does not support simulator. Run this command line to see which architecture that it supports:
lipo -info libTZBeaconSDK.a
the result is: Architectures in the fat file: libTZBeaconSDK.a are: armv7 arm64
So, you have to test in a device, not in simulator!
Typically you get that error in the simulator if the architecture of the framework is built for the device. You need to use a version of the framework that is built for the simulator to run it on the simulator. This is something that should be provided by the framework vendor.
If they don't provide one then look into only including that framework when building to the device and not to the simulator. There is another SO answer here to point you in the right direction: How to only include a framework when building for device, not iOS Simulator?
Simple trick here: Go -> Go To Folder "/Library/Developer/Xcode"
delete Derived data next clean your project then Run .
Currently I am converting one older sdk based project with new SDK 9.0.
I am getting one issue what I need to consult here. If I set "Build Active Architecture Only" to "YES", then it debugs successfully on my device iPhone 5.
But when I set it as "No" then it show me error at compile time. And this is showing below warning and error message.
ld: warning: ignoring file /Users/narendravaishnav/Naren/SVN Projects/MyApp/libGoogleAnalytics.a, missing required architecture arm64 in file /Users/narendravaishnav/Naren/SVN Projects/MyApp/libGoogleAnalytics.a (3 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GANTracker", referenced from:
objc-class-ref in MyAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is this some older version of libGoogleAnalytics.a but this work when I am debugging with my connected device and "Build Active Architecture Only" = "YES".
Is there any quick suggestion for me to fix this ?
When you set the Build Active Architecture Only option to YES, then it builds for the connected device. Since that is an iPhone 5 with an A6 (32bit) chip, then your build succeeds. If it was an iPhone 5S then it probably would not build as it has the A7 (64bit) chip.
When you set the option to NO, then it has to build for all architectures including the newer 64 bit processors.
From the error, it looks like your installation of google analytics does not include the arm64 version. Try installing the latest version. Looks like you need version 3.03 or higher.
I am having an issue adding the MagTek library and header. After they are added (I followed all the information I could find) I get this error:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_MTSCRA", referenced from:
objc-class-ref in CONAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have wasted so much time figuring this out. I am using Xcode 5. Any Help would be appreciated.
The MagTek library must not 64-bit and you are trying to run against the iPhone 64-bit simulator and/or on the iPhone 5s. In your "Build Settings," under "Architectures," try changing to $(ARCHS_STANDARD_32_BIT) or $(ARCHS_STANDARD) to not build the 64-bit version as a workaround.
It worked for me with following changes ( In your "Build Settings," under "Architectures"),
Removed arm64 from the list of 'Valid Architectures'
'Build Active Architecture Only' set to 'No'
Set architectures to 'Standard Architectures'
From iOS 11 onwards all apps should be in 64-bit, so you can get the latest iOS MagTek library at..
https://www.magtek.com/support/idynamo?tab=software
I want to add RevMob add in my app but there are some errors
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
objc-class-ref in RevMobAds(RevMobStoreController.o)
"_SKStoreProductParameterITunesItemIdentifier", referenced from:
-[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have added StoreKit,SystemConfiguration and RevMob Frameworks already.
I am using Xcode4.3 and ios4.2
Plz help me.
Thanks in advance.
You need to add the StoreKit framework
EDIT: I see now what you mean, there was an issue with the older versions, I'm adding a link to an edited framework to solve that issue: Edited Revmob Framework
You must link against StoreKit.framework
It looks like the ad sdk you have now does not include support for use with the simulator.
-[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o)
ld: symbol(s) not found for architecture i386
if you get anything that mentions "not found for architecture" means revmob didnt include classes for running on simulator. You have 2 choices. look for a missing library ".a file" or only compile for testing on a device.
I've ran into an issue with the new ios6 where revmob did not support the new iphone 5 armv7s architecture.
Double check your revmob installation or try compiling to your phone instead of the simulator
When your are dropping the files manually in xcode the files are not copied to Bundle. So "SKStoreProductViewController.m" was the file not copied in the bundle so the error occurred. To resolve the error. Drag the files only .m files to Copy Bundle Resourceas shown in the image
This error can also happen if you removed a file from your project and subsequently re-created it. Sometimes Xcode doesn't automatically re-include it in the 'compile sources' box (when you click on target).
Check the box and see if all of your source files are included, if not then drag them in and rebuild.
They release a new SDK version (4.6.0) that works perfectly on older Xcode versions!
This also happens with Appirater. I was getting this message:
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: objc-class-ref in Appirater.o "_SKStoreProductParameterITunesItemIdentifier", referenced from: +[Appirater rateApp] in Appirater.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
---To Fix---
add StoreKit.framwork in --> BuildPhases
---Under-> Link Libraries with Libraries
If you have more than one target you might need to add the
StoreKit.framwork to both Targets.
I faced similar issue and after long search and checking sample RevMob code, i found this solution, may be help others:
Under project target, select Build Settings, under Deployment, check iOS Deployment Target, change the value to 'iOS 9.0' or higher.
I hope this help.