Неопределенные символы для архитектуры 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, возможно, он не подключен, компилятор не может найти файл. Также смотрите ссылку