Linker command failed with Undefined symbols for architecture i386
27,265
your app is complaining it can not find CATransition Symbol.
Did you add the QuartzCore framework to your app?
If not add it: go to your target settings -> build phases -> link binary -> select the + button and select QuartzCore.
then import it where you need to use it:
#import <QuartzCore/QuartzCore.h>
Author by
Xavi Valero
Terrible at coding, desperately trying to be a good coder :)
Updated on July 20, 2020Comments
-
Xavi Valero almost 4 years
i am trying to do the half page curl feature. This is the code I am using:
#import <QuartzCore/QuartzCore.h> CATransition *animation = [CATransition animation]; [animation setDelegate:self]; [animation setDuration:1.0f]; [animation setTimingFunction:UIViewAnimationCurveEaseInOut]; [animation setType:(notCurled ? @"mapCurl" : @"mapUnCurl")]; [animation setRemovedOnCompletion:NO]; [animation setFillMode: @"extended"]; [animation setRemovedOnCompletion: NO]; notCurled = !notCurled;
But I encounter the following errors
Undefined symbols for architecture i386: "_OBJC_CLASS_$_CATransition", referenced from: objc-class-ref in MyMapViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) "_OBJC_CLASS_$_CATransition", referenced from: objc-class-ref in SJMapViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
How can I solve it?
-
Xavi Valero over 12 yearsI thought I had added the framework, rechecked it and found that I haven't added. Thanks mate.
-
robhasacamera almost 12 yearsHad this same problem but it had to do with code that I imported into my project from another library. In case anyone has that issue go into Build Phases and add the imported files to Compile Sources.
-
Victor Engel over 11 yearsThanks, @robhasacamera, that's exactly what I needed. Couldn't figure out why I was still having the problem with the framework and imports set up correctly.