Неопределенные символы для архитектуры i386 "_OBJC_CLASS _ $ _ Appirater" - PullRequest
10 голосов
/ 21 января 2012

После добавления Appirater в мой проект iOS при компиляции появляется ошибка:

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)

После поиска и поиска в Интернете ни одно из найденных решений не помогло.

И мой проект, и цель настроены так:

enter image description here

Что мне еще попробовать?

Ответы [ 4 ]

44 голосов
/ 21 января 2012

Я думаю, что вы только добавили файлы в проект, но не в целевой.
Нажмите на Appirater.m файл в Project Navigator и установите флажок рядом с вашим целевым именем в Target membership из File Inspector.

3 голосов
/ 21 января 2012

Похоже, вы не правильно добавили код Appirater в свой проект. И Appirater.h, и Appirater.m должны быть частью вашего проекта, а Appirater.m должны быть скомпилированы, как и все ваши другие файлы.

2 голосов
/ 28 декабря 2012

Вы также получите эту ошибку, если не воспользовались добавлением инфраструктур CFNetwork и SystemConfiguration в свой проект.

1 голос
/ 04 июля 2012

У меня была такая же проблема, и я ее исправил.

Причина моей проблемы в том, что я перетащил файл из другого проекта в текущий.

Конечно, это работает, когда мы удаляем и воссоздаем файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...