"Символ (ы) не найден для архитектуры i386" проблема с использованием ShareKit
Я хочу использовать каркас http://getsharekit.com/ для будущих проектов iOS. Поэтому я начал тестировать фреймворк.
Но я уже получаю следующую ошибку:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SHKItem", referenced from:
objc-class-ref in ShareKitTestAppDelegate.o
"_OBJC_CLASS_$_SHKActionSheet", referenced from:
objc-class-ref in ShareKitTestAppDelegate.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Часто, насколько я знаю, эти проблемы возникают, если заголовочные файлы импортируются неправильно. Но я не вижу никакой ошибки здесь в следующем коде, где возникает проблема выше:
#import "ShareKitTestAppDelegate.h"
#import "SHK.h"
#import "SHKItem.h"
#import "SHKActionSheet.h"
- (IBAction) letshare:(id)sender
{
// Create the item to share (in this example, a url)
NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"];
SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"];
// Get the ShareKit action sheet
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
// Display the action sheet
[self.window addSubview:actionSheet];
}
Я также включил папку заголовков ShareKit в параметры сборки HeaderSearchPath из-за поиска всех заголовков.
Но я не вижу здесь никакой ошибки или чего-то пропущенного.
Кто-нибудь может мне помочь?
С наилучшими пожеланиями,
Andreas
2 ответа
Прочитайте это http://getsharekit.com/install/.
Вы добавили рамки?
У меня была похожая проблема со следующей ошибкой компоновщика:
Неопределенные символы для архитектуры i386: "_OBJC_CLASS_$_SHK"
Я решил это, добавив SHK.m к скомпилированным источникам в настройках проекта->Target->Build Phases. Не уверен, почему SHK.m не был в списке скомпилированных источников, и он работал до дублирования цели. После дублирования я не смог связать ни одну из целей.
Добавление SHKItem.m или SHK.m к скомпилированным источникам может помочь вам, если их еще нет.