본문 바로가기

Develop/Objective-C

ZXing 1.6 QRCodeReader for Iphone

내 실력에선 엄청난 삽질이 필요 했다.. 아....ㅠ.ㅠ 덕분에 확실히 외워서 기억날듯..

시~작!

ZXingWidget 폴더를 현재 작업하는 프로젝트 폴더와 같은 폴더에 넣는다..
그리고 cpp 폴더는 현재 프로젝트 폴더에서 상위 폴더에 넣는다..

/cpp/
/project/project_name
/project/ZXingWidget/

이렇게....
그리고 XCode에 프로젝트로 들어가서
먼저 ZXingWidget 폴더 안에 ZXingWidget.xcodeproj 를 끌어당겨 내 프로젝트 상위에 넣는다.
그리고 Relative to project 인가.. 여튼 그걸 선택하고 맨위에 있는 add project 는 체크 하지 않는다. (그냥 참조만 한다고 한다..)
가지고 온 ZXingWidget.xcodeproj 를 클릭하면 XCode 기준 오른쪽 화면 상단에 Relative인가.. 체크 박스 하나가 있는데 그걸 체크 한다!!
만약 오른쪽 상단이란 화면을 모르면  cmd + shift + e 키를 누르면 나타낫다 사라졌다 할것이다..ㅎㅎㅎㅎ-_-
그러면 Targets > 프로젝트명 > Link Binary With Libraries 에 libZXingWidget.a 가 자동으로 들어가 있땁!!
Targets에 있는 프로젝트명을 따블클릭하면 info 화면으로 들어가는데 General 탭에 상단이 비어 있을것이다.
[+] 버튼을 누르면  ZXingWidget을 추가 할수 잇당~~ 추가 한다.. 그리고.. 각종 라이브러리도 아래에서 추가 해준다.
AudioToolbox, AVFoundation, CoreVideo, CoreMedia, libiconv.dylib  (다외웠다..-_-)

그리곤 이제 젤 중요한.. 
Groups & Files에 최상단 프로젝트명은 따블클릭 해서 info 화면으로 들어간다.
Build 탭에서 Search Paths 쪽에 보면 Header Search Paths 가 있따
두개를 등록해야 하는데 
../ZXingWidget/Classes    <<<--- 얘만 Recursive 체크 해준다~
../../cpp/core/src
복사해서 똑같이 추가 해주자.. 첨에 ZXing 을 넣은 폴더와 맞춰주면 된다던데.. (이구조 아니면 에러가 나던데..ㅠ.ㅜ)
그럼 끗!!!!
이젠 QRCodeReader 셋팅하는데 5분도 안걸린다...

ps. 아참.. 

../../cpp/core/src/zxing/common/Counted.h:29:0 ../../cpp/core/src/zxing/common/Counted.h:29:20: error: iostream: No such file or directory


../../cpp/core/src/zxing/common/Counted.h:35:0 ../../cpp/core/src/zxing/common/Counted.h:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'zxing'


../../cpp/core/src/zxing/Result.h:23:0 ../../cpp/core/src/zxing/Result.h:23:18: error: string: No such file or directory


이런 에러들이 보일수 있다... 이럴땐 .m 파일 확장자를 .mm 으로 바꿔주면 된당~


테스트는 ZXing 1.6 압출풀면 나오는 QRCode 에서 코드 복사해서 하면 됨..

ps2. 카메라쪽 UI 를 변경하고 싶으면 OverlayView.m 파일을 수정하면됨.. 이 클레스는 계속 호출 되므로 이미지나 뭐 이    런거 넣으면 무거워짐.


Good Luck~!