Ошибка команды Linker с символами Undefined для архитектуры i386
Я пытаюсь сделать функцию скручивания на половину страницы. Это код, который я использую:
#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;
Но я сталкиваюсь со следующими ошибками:
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)
Как я могу его решить?
Ответы
Ответ 1
Ваше приложение жалуется, что не может найти символ CATransition.
Вы добавили фреймворк QuartzCore в свое приложение?
Если не добавить его: перейдите к целевым настройкам → фазам сборки → link binary → выберите кнопку + и выберите QuartzCore.
затем импортируйте его там, где вам нужно его использовать:
#import <QuartzCore/QuartzCore.h>