Подтвердить что ты не робот

Zbar SDK не работает в iOS6

Я использовал ZBar для сканирования в iOS5, и он работал хорошо.

Теперь, после обновления до iOS6, он не работает. Он показывает следующую ошибку.

    ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/mac4/Desktop/my desktop/My app/MyApp name 20:09:12  /MyApp name/ZBarSDK/libzbar.a for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Что не так в моей стороне?

4b9b3361

Ответ 1

Недавно я столкнулся с той же проблемой. Проблема заключается в том, что ZBar SDK не готов для архитектуры armv7s.

Я решил проблему таким образом:

  • Перейдите на домашнюю страницу ZBar и перейдите к ртутному репозиторию (прямая ссылка)
  • Загрузите zbar-репозиторий как zip.
  • Разархивируйте файл и перейдите к подпапке под названием "iphone".
  • Откройте проект XCode.
  • Удалите папку "Примеры" (папка вызвала ошибку сборки на моей машине).
  • Нажмите "CMD + B" и создайте источник.
  • Найдите новый файл libzbar.a. (Пользователь/Library/Developer/Xcode/DerivedData/Zbar...)
  • Замените старый файл libzbar.a в вашем проекте на новый.
  • Хит "CMD + R", и вам хорошо идти.

Ответ 2

В Xcode перейдите к настройкам вашей цели, изменить 'Valid Architectures'

от

armv7,armv7s

to

armv7

Это изменение означает, что ваше приложение не будет использовать возможности оптимизации нового процессора iPhone5, но вам не придется ждать, пока сторонние библиотеки обновятся или будут работать с шестнадцатеричным редактором.

Ответ 3

Учебник по загрузке/повторной сборке источников hg отлично, но вам не нужно все это делать.

Просто перейдите к http://sourceforge.net/projects/zbar/files/iPhoneSDK/beta/ и загрузите ZBarSDK-1.3.1.dmg, и все будет работать из коробки для последних архитектуры (в моем случае armv7, armv7s).

Update:

Некоторые из вас сообщили о проблемах с ZBarSDK на XCode 5, iOS 7 или архитектуре arm64... ну, я вернулся к этому проекту сегодня и испытал подобные проблемы и обнаружил, что есть библиотека ZBarSDK, которая скомпилирована для работы с iOS 7 at: http://www.nerdvision.net/app-development/ios/zbar-sdk. Я просто заменил старые файлы новыми и скомпилировал мой проект. Обратите внимание: Архитектуры в моих настройках сборки проекта установлены на amrv7, arm64 ($ ARCHS_STANDARD), Base SDK установлен на iOS 8.0, и у меня установлен флаг Build Active Architectures Only. Да.

В SO есть вопрос: zbar SDK не работает для armv7s (iPad 4 iOS 7)

Благодаря @cdescours для подсказки!

Ответ 5

У меня такая же проблема, но я просто добавил armv6 и armv7, тогда она работает для iOS6. Просто вставьте armv6.

Ответ 6

ваша двоичная библиотека не имеет кода для armv7s. Поэтому вы должны перекомпилировать его для текущих архитекторов.

Ответ 7

Перекомпилируйте исходный код, загрузите исходный код zbar и скомпилируйте его в новый проект. Это просто.

Ответ 9

Пришел сюда с той же проблемой после загрузки кода Rutorial, предоставленного в его блоге. Очень полезный пост, но самый полезный ответ здесь был опубликован RacZo 3/29. Я только что загрузил исходное изображение ZBarSDK-1.3.1.dmg, удалил ZBarSDK из моего проекта и заменил его оригиналом. Готово.

Ответ 10

Я изучаю разработку IOS. После нескольких дней рытья,

Ниже приведена tutorial для установки ZBar SDK.

1, принятый ответ правильный, но с некоторыми ограничениями. (пробовал, работает!)

2, альтернативное решение здесь. (пробовал, работает!)

3. Лучше всего построить все разные архитектуры, а затем связать их с помощью lipo: Отличное решение (попробовали, блестящие!)

Некоторые показания для понимания этих архитектур:

http://wanderingcoder.net/2010/07/19/ought-arm/

http://wanderingcoder.net/2011/09/25/compiling-armv7/