Использование сканера штрих-кода Phonegap на Iphone - PullRequest
5 голосов
/ 14 января 2012

Я пытаюсь добавить сканер штрих-кода в проект GQM для iOS.Я следовал приведенным инструкциям, хотя я не уверен на 100%, правильно ли я выполнил первый и последний шаги.

Скопируйте файлы .h, .cpp и .mm в каталог плагинов вваш проект.Вам может потребоваться установить параметры компиляции для zxing-all-in-one.cc, чтобы отключить оптимизацию.

Я непосредственно скопировал три файла в папку плагинов в xcode.Это не дает мне никаких ошибок, но это также не работает.Я понятия не имею, как сделать параметры компилятора в xcode, поэтому я не сделал последний шаг.

В настоящее время мое приложение по-прежнему работает без ошибок, и при запуске функции сканирования открывается камера с пользовательским интерфейсом для штрих-кодасканер вверх.Проблема в том, что он, похоже, не ищет и не находит штрих-коды, он просто остается в рабочем состоянии и ничего не делает (пока вы не нажмете кнопку отмены, тогда он правильно отобразит отмененное сообщение).

У кого-нибудь есть идеичто не так или куда мне смотреть?

Ответы [ 2 ]

4 голосов
/ 15 января 2012

Если камера включена и на экране отображается пользовательский интерфейс для сканирования, это означает, что вы все сделали правильно. Кажется, проблема в том, что сканер не обнаруживает штрих-коды.

Имейте в виду, что для распознавания 1D штрих-кодов («классических» штрих-кодов) с zxing требуется iPhone с объективом с автофокусировкой (iPhone 4 или iPhone 4S). Штрих-коды 1D немного сложнее обнаружить с помощью объективов мобильных телефонов, вам необходим надлежащий свет и фокус; это одна из причин, почему 2D-коды, такие как QR-код, были изобретены.

Попробуйте сгенерировать QR-код с помощью http://zxing.appspot.com/generator/,, отобразите его на экране и попробуйте отсканировать его с помощью своего приложения. Если это работает, то хорошие новости, все в порядке, но плохие новости, ваш телефон не подходит для сканирования 1D штрих-кода.

1 голос
/ 28 марта 2012

Другим объяснением этого поведения являются флаги компилятора. Как упоминалось в BarcodeScanner wiki , вам может потребоваться установить параметры компиляции для zxing-all-in-one.cc, чтобы отключить оптимизацию.

В XCode4 щелкните свой проект, затем выберите цель в Цели , перейдите к Фазы сборки-> Компиляция источников , выберите zxing-all-in-one .cc и введите -O0 (черт возьми, ничего) в столбец Флаги компилятора .

Это решило это для меня.

...