2012-01-21 12 views
10

Po dodaniu Appirater do mojego projektu iOS, kiedy mogę skompilować, otrzymuję błąd:

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_Appirater", referenced from: 
     objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Po wyszukaniu i szukają w internecie, żadne z rozwiązań znalezionych pomógł.

Zarówno mój projekt i cel są ustawione jako:

enter image description here

Co powinienem spróbować więcej?

+0

co masz na myśli przez "dodanie Appiratera do mojego projektu na iOS"? – Krizz

+0

Podążyłem za wszystkimi krokami stąd: https://github.com/arashpayan/appirater – CristiC

Odpowiedz

44

Myślę, że dodałeś tylko pliki do projektu, ale nie do celu.
Kliknij na plik Appirater.m w Project Navigator i ustaw pole wyboru obok swojej docelowej nazwy w Target membership z File Inspector.

+0

To był problem. Dzięki Tomasz. – CristiC

+4

Na wypadek, gdyby ktoś nie wiedział, gdzie znajduje się inspektor plików, w kodzie 4 i 3 (jeśli dobrze pamiętam) możesz przejść do widoku -> Narzędzia -> Pokaż inspektora plików. Powinien przewinąć się z prawej strony. –

+0

Możesz również kliknąć prawym przyciskiem myszy/polecenie, aby kliknąć plik w Inspektorze projektu i wybrać "Pokaż inspektora plików", czwartą opcję w dół, tuż nad "Nowym plikiem". –

3

Wygląda na to, że nie dodałeś poprawnie kodu Appirater do swojego projektu. Zarówno Appirater.h, jak i Appirater.m muszą być częścią twojego projektu, a musi zostać skompilowany tak, jak wszystkie inne pliki.

+0

Plik Appirater.m nie został dodany do celu. To był problem. – CristiC

1

Po prostu miałem ten sam problem i naprawiłem go.

Przyczyną mojego problemu jest przeciągnięcie i upuszczenie pliku z innego projektu do bieżącego.

Oczywiście działa, gdy usuniemy i ponownie utworzymy plik.

2

Ten błąd zostanie wyświetlony również w przypadku zaniedbania dodania frameworków CFNetwork i SystemConfiguration do projektu.

+1

Pomóż mi. To był 'StoreKit', drugi wymagany framework, powodujący problem dla mnie. – Craig

Powiązane problemy