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>
Share:
27,265
Xavi Valero
Author by

Xavi Valero

Terrible at coding, desperately trying to be a good coder :)

Updated on July 20, 2020

Comments

  • Xavi Valero
    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
    Xavi Valero over 12 years
    I thought I had added the framework, rechecked it and found that I haven't added. Thanks mate.
  • robhasacamera
    robhasacamera almost 12 years
    Had 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
    Victor Engel over 11 years
    Thanks, @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.