Неопределенные символы для архитектуры armv6

Мое приложение прекрасно компилируется на симуляторе iPhone под управлением iOS 5.0, но не работает на моем старом физическом iPod touch под управлением iOS 4.2.1.

Я получаю следующую ошибку:

Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_TestFlight", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv6

Я смотрел на другие вопросы по этому поводу: неопределенные символы для архитектуры armv6, обновление до iOS 4.3

Но они решения не работают. Действительно, TestFlight.h не было в источниках компиляции, но перетаскивание его в источники компиляции не изменило сообщение об ошибке. (TestFlight.m отсутствует; у меня есть libTestFlight.a в разделе "Связать двоичные файлы с библиотеками").

Точно так же удаление и перепечатывание #import "TestFlight.h" в AppDelegate.m ничего не изменилось.

Что еще может быть причиной этой ошибки компиляции на моем iPod?

2 ответа

Во-первых, файл.h не является исходным файлом, поэтому снова удалите его из "Compile Sources".

Об ошибке - вы, вероятно, используете версию TestFlight SDK, которая не поддерживает armv6 - они повторно включили эту архитектуру в недавней версии. Обновите до последней версии SDK и посмотрите, поможет ли это.

Нажмите на свой проект, выберите

цель

а затем перейти к

Этапы сборки

В

Компилировать источники

добавлен AppDelegate.m, возможно, он не подключен, компилятор не может найти файл. Также смотрите ссылку

Другие вопросы по тегам