Restkit на Xcode 4.5 GM не работает на устройстве iOS 6 - файл был создан для архива, который не является связанной архитектурой

Я использую Xcode 4.4.1, и Restkit отлично работает на симуляторе и устройстве. Поскольку вчера я обновился до Xcode 4.5, Restkit отлично работает на симуляторе, но когда я пытаюсь запустить на своем устройстве iOS 6, я получаю ошибки компиляции;

d: warning: ignoring file /Developer/Xcode/DerivedData/App-Name/Build/Products/Debug-iphoneos/libRestKit.a, file was built for archive which is not the architecture being linked (armv7s): /Developer/Xcode/DerivedData/App-Name/Build/Products/Debug-iphoneos/libRestKit.a
Undefined symbols for architecture armv7s:

  "_OBJC_CLASS_$_RKObjectManager", referenced from:
      objc-class-ref in AppDelegate.o

Что это значит и как решить эту проблему? Помощь приветствуется.


person Wasim    schedule 13.09.2012    source источник


Ответы (4)


Я отправил ветку в репозиторий RestKit Github, которая должна решать проблемы сборки с помощью iOS 6 SDK. Мне не удалось воспроизвести ошибки сборки в моем проекте (я значительно отклоняюсь от основной ветки), но считаю, что исправление точное.

Может ли кто-нибудь, столкнувшийся с проблемой, перейти на ветку bugfix/930-arm7s-compatibility и сообщить, хорошо ли это исправление на Github? На Github отслеживается проблема по адресу: https://github.com/RestKit/RestKit/issues/930.

person Blake Watters    schedule 13.09.2012
comment
Я объединил это исправление с основной веткой RestKit и веткой разработки и пометил его как 0.10.3. Ваше здоровье! - person Blake Watters; 13.09.2012
comment
Работал отлично для меня. Спасибо Блейк! Замечательный каркас вы сделали. - person Wasim; 13.09.2012
comment
Я добавил RestKit в качестве подмодуля git в соответствии с инструкциями, поэтому простой git pull сделал свое дело. Очень мило спасибо! - person tybro0103; 22.09.2012

Возможно, вам потребуется перекомпилировать инфраструктуру RestKit с помощью iOS6 SDK, а затем добавить инфраструктуру libRestKit.a в свой проект.

ИЗМЕНИТЬ:

Это было исправлено. Вы должны внести изменения в файлы проекта здесь

person Vimal Venugopalan    schedule 13.09.2012
comment
Не могли бы вы уточнить, что вы имеете в виду, перекомпилировав его с помощью iOS6 SDK, я не уверен, как бы я это сделал. - person Wasim; 13.09.2012
comment
создайте код инфраструктуры RestKit, установив iOS6 в качестве базового SDK, а затем проверьте, получаете ли вы файл libRestKit.a в качестве продукта. Если нет, то поддержка RestKit для iOS6 еще не реализована. - person Vimal Venugopalan; 13.09.2012
comment
Открыл проект RestKit для iOS6, снова собрал и импортировал фреймворк в мой текущий проект - работает отлично. - person flashfabrixx; 13.09.2012
comment
мой компилируется на симуляторе, но не на устройстве. - person Eric; 13.09.2012
comment
Я удалил ресткит и импортировал его обратно, базовый SDK — iOS6, но он все еще не работает на устройстве, только симулятор. - person Wasim; 13.09.2012
comment
ознакомьтесь с новым EDIT, который исправит вашу проблему - person Vimal Venugopalan; 13.09.2012
comment
Vimal, ссылка на редактирование не работает... не могли бы вы опубликовать ссылку еще раз. - person user601367; 16.10.2012
comment
Ссылка была заменена .. это та же ссылка, предоставленная выше Блейком Уоттерсом. - person Vimal Venugopalan; 14.02.2013

у меня была такая же проблема

этот поток решил мою проблему https://stackoverflow.com/a/12537677/2183952 и, самое главное, убедитесь, что "Build Active Только для архитектуры» установлено значение «Нет» в настройках сборки как проекта «Restkit», так и вашего собственного проекта.

person Moaz Saeed    schedule 12.01.2015

Restkit скомпилирован для armv6/armv7, поэтому он не может работать на armv7, многие третьи библиотеки столкнутся с тем же вопросом.

person Mil0R3    schedule 13.09.2012