Создание библиотеки ZBar
Когда-то у меня была другая проблема с ZBar, и я нашел здесь полезный набор инструкций: https://web.archive.org/web/20170128181158/http://www.federicocappelli.net/2012./10/05/zbar-library-for-iphone-5-armv7s/
По сути, в инструкциях рассказывается, как проверить исходный код с помощью Mercurial, а затем скомпилировать собственный файл libzbar.a. Это должно решить вашу проблему.
Буквально вчера вечером мне пришлось снова следовать инструкциям, потому что моя версия ZBar не запустилась после обновления до Xcode 5. Я призываю вас перейти по ссылке выше, но я собираюсь в основном написать ее. здесь, наряду с некоторыми шагами, которые я добавил для новой платформы iPhone.
Загрузите и установите Mercurial для Mac. Взял последнюю для OS X 10.8. (На экране установки, когда вы запускаете программу установки, кажется, все еще написано 10.7, так что не удивляйтесь.)
После установки Mercurial загрузите исходный код ZBar с помощью следующих команд:
hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
cd zbar
hg checkout iPhoneSDK-1.3.1
open iphone/zbar.xcodeproj
В меню Xcode выберите «Продукт > Схема > libzbar», а затем выберите «Продукт > Схема > Редактировать схему…». (Вы получите предупреждение о том, что проект был обновлен для использования отладчика LLBD. Ура!)
![Шаг 1: Изменить схему](https://i.stack.imgur.com/yWvk4.jpg)
Выберите «Выполнить» в конфигурации сборки и нажмите «ОК».
Далее мы собираемся скомпилировать libzbar как для устройства, так и для симулятора. В списке Project and Targets выберите цель libzbar и перейдите на вкладку Build Settings. Проверьте настройки вашей архитектуры, как показано на скриншоте. (Убедитесь, что там написано iOS и arm64 armv7 armv7s.)
Кроме того, не забудьте изменить Архитектуры на Стандартные архитектуры (armv7, armv7s, arm64), иначе ваш проект не будет компилироваться с помощью arm64. (Это неправильно показано на скриншоте)
![Шаг 2. Настройка архитектуры](https://i.stack.imgur.com/yimOk.jpg)
Теперь, вот часть, которую я обнаружил прошлой ночью. Моя цель развертывания была установлена на iOS 3.1. Вы получите сообщение об ошибке, если попытаетесь скомпилировать Xcode 5 с этим параметром. Я изменил его на iOS 7.0.
![Шаг 3. Настройка цели развертывания](https://i.stack.imgur.com/EUUK1.jpg)
После проверки настроек и внесения необходимых изменений запустите Build. Вернитесь в «Продукт > Схема > Редактировать схему…» и проверьте раскрывающееся меню «Назначение». (См. скриншот выше.) У меня был свой на iPhone Retina (3,5 дюйма). Измените его на устройство iOS и запустите сборку во второй раз. Теперь вы создали библиотеку дважды: один раз для симулятора и один раз для устройства. Вам нужно будет объединить две библиотеки. Перейдите в следующий каталог в Терминале:
cd ~/Library/Developer/Xcode/DerivedData
Там есть куча каталогов с загадочными именами, один из которых будет начинаться с «zbar». Вот мой полный путь, например:
/Users/mario/Library/Developer/Xcode/DerivedData/zbar-dwpkaidpztsnjafveraeowkkjvdo
Перейдите в этот каталог zbar, а затем перейдите в каталог Build/Products.
cd Build
cd Products
Там вы увидите две папки: Release-iphoneos и Release-iphonesimulator. (Внутри каждого находится файл lizbar.a.) Объедините их с помощью следующей команды:
lipo -create Release-iphoneos/libzbar.a Release-iphonesimulator/libzbar.a -o libzbar.a
Теперь вы создали универсальную библиотеку (libzbar.a), которую вы должны использовать, заменив ту, что была в вашем дистрибутиве ZBar. Он находится в том же каталоге Build/Product.
Как я уже сказал, я в значительной степени скопировал инструкции автора ссылки выше, г-на Каппелли, обновив их для последней версии Xcode.
person
Mario
schedule
21.09.2013