2013-09-23 3 views
0

Я использую cocoapods установить ZXing 2,1, и мое содержание Podfile выглядит следующим образом:Почему я не могу использовать класс QRCodeReader в ZXing (установленном с CocoaPods) в моем приложении iOS?

platform :ios, '5.0'                                     
pod 'ZXing/ios', '~> 2.1' 

все правильно, я могу импортировать использовать #import <TwoDDecoderResult.h> использовать TwoDDecoderResult класс, но я не могу использовать QRCodeReader класс однако, хотя Я импортировал #import <QRCodeReader.h> Почему?

+0

Какая ошибка? – smparkes

+0

Файл iostream.h не найден и некоторая неопределенная проблема с символом. – jianpx

ответ

1

Моя проблема: я не могу использовать класс QRCodeReader в своем файле X.m. Xcode будет жаловаться на то, что iostream.h file not found и некоторая ошибка ссылки `undefined symbol of ... avm7s '(что-то вроде этого). Кроме того, мой cocoapods является 0.25.0 (где вы должны сначала увидеть изменения here и мой Xcode является 4.6.3

После поиска, я решил мою проблему следующим образом:

  1. изменить свой файл Xm . к суффиксу файла X.mm это потому, что мой файл X.mm хочет использовать QRCodeReader, что первоначально C++ класса в ZXing

  2. установить проект & целевой установку сборки:. "Build Valid Architecture Only" флага быть NO Повторите этот шаг для ваших pods проект & цели тоже.

  3. main проект -> Настройки сборки прокрутки и узнать параметры, диалект языка C++ и стандартную библиотеку C++. Выберите опции «Компилятор по умолчанию» для обоих из них. (Это шаг, который я пропустил, это необходимо, потому что новый шаблон XCode имеет настройки по умолчанию для компилятора, отличные от того, что они были в более старых версиях).

сейчас построить & бежать, все будет в порядке.

Смежные вопросы