Символ не найден для архитектуры armv6

Пожалуйста, помогите мне в ошибке ниже.

Я работаю над графиками с использованием сторонней структуры (libIPhonecharting), все отлично работает в симуляторе, но когда я пытаюсь создать файл .app для установки в устройство IPAD, я получаю следующее сообщение об ошибке.

игнорирование файла /Users/xyz/Desktop/xyzIPAD/library/ 4.0/Release-iphoneos/libIPhoneCharting.a, файл был создан для архива, который не связан с архитектурой (ARMv6)

Undefined символы для архитектуры armv6: "_OBJC_CLASS _ $_ DTCStroke", ссылка:       objc-class-ref в DemoLineChart.o "_OBJC_CLASS _ $_ IPCBar3DChart", на который ссылаются:       objc-class-ref в DemoBar3DChart.o "_OBJC_CLASS _ $_ IPCLineChart", на который ссылаются:       objc-class-ref в DemoLineChart.o "_OBJC_CLASS _ $_ DTCDefaultCategoryDataset", на который ссылаются:       objc-class-ref в DemoBar3DChart.o       objc-class-ref в DemoLineChart.o "_DTC_STROKE_CAP_SQUARE", на который ссылаются:       + [DemoLineChart (Private) getRenderWithRender:] в DemoLineChart.o "_OBJC_CLASS _ $_ IPCTitle", на который ссылаются:       objc-class-ref в DemoBar3DChart.o       objc-class-ref в DemoLineChart.o "_DTC_STROKE_JOIN_BEVEL", на который ссылаются:       + [DemoLineChart (Private) getRenderWithRender:] в DemoLineChart.o ld: символы (символы), которые не найдены для архитектуры armv6 collect2: ld возвращен 1 статус выхода

Ответ 1

Вот как я получил эту проблему:

Я добавил .h, .m и NIB из другого проекта, перетащив их в свой навигатор проектов. Xcode не добавлял их к строкам сборки должным образом.

Мое решение для этой проблемы:

  • Перейдите в "Целевое" в меню навигатора.
  • Нажмите вкладку "Построить фазы"
  • Добавьте файл .m в "Скомпилировать источники" (либо перетащите его, либо используйте кнопку +).
  • Добавьте .xib в "Копировать ресурсы пакета"
  • Очистить и построить

Он работает для меня, спасибо вам много.

Ответ 2

Несколько вопросов: Есть ли у вас внешний lb собственный файл проекта? Если это так, убедитесь, что он настроен правильно на arm6 и arm7. Сделайте то же самое для своего основного файла проекта для хорошей оценки. Кроме того, какая версия XCOde вы? Существуют значительные различия между различными версиями.

Посмотрите на схему libs (в зависимости от используемой версии XCode) и убедитесь, что она настроена правильно для отладки на устройстве iOS; Я полагаю, что вы создаете свое устройство для целей отладки: эта рекомендация объясняется следующим образом: "файл был создан для архива, который не связан с архитектурой (armv6)"

После каждого из этих действий обязательно очистите весь проект перед каждой сборкой.

Надеюсь, это поможет. Я чувствую вашу боль. XCOde - зло.

Ответ 3

Я решил эту проблему, добавив отсутствующую фреймворк для целей- > Сборка фаз- > Ссылка с бинарными библиотеками