2011.09.05 13:31

[iOS] ZXing 라이브러리를 이용한 QR코드 리더 앱 개발하기 #1. ZXing 라이브러리 추가

ZXing (Zebra Crossing) 라이브러리는 자바로 개발된 바코드 프로세싱 오픈소스 라이브러리다. 자바로 개발되었지만 다양한 플랫폼을 위한 모듈들을 제공한다. 여기서는 ZXing 라이브러리를 이용하여 iOS 기반의 QR코드 리더 앱을 개발하는 과정을 간단하게 설명한다.

프로젝트 생성
1. Window-based Application 프로젝트를 선택하여 'ZXingTest' 프로젝트를 생성한다.



ZXingWidget 라이브러리 추가
1. 다운로드 받은 ZXing 라이브러리의 압축을 해제하고 zxing 폴더를 ZXingTest 프로젝트 폴더에 복사한다. 실제로 필요한 폴더는 zxing/cpp 폴더와 zxing/iPhone 폴더다. 두 폴더의 절대 경로만 정확하게 알고 있다면 위치는 크게 상관없다. 편의를 위해 폴더 그대로 복사한다.



2. Project Navigator (Command + 1) 에서 프로젝트 파일을 선택하고 컨텍스트 메뉴(우 클릭)에서 'Add Files to "ZXingTest"...'를 클릭한다. zxing\iPhone\ZXingWidget 폴더에 포함된 ZXingWidget.xcodeproj 파일을 선택하여 XZingWidget 프로젝트를 추가한다.




3. ZXingWidget 프로젝트 파일을 선택하고 File Inspector (Command + option + 1)를 열어 Location 속성을 'Relative to Project'로 변경한다.



4. Project Navigator에서 프로젝트 파일을 선택하고 Targets의 ZXingTest를 선택한다. Build Phases 탭의 'Link Binary With Libraries' 항목을 확장하여 'libZXingWidget.a'와 함께 다음 프레임워크들을 모두 추가한다.

- AVFoundation
- AudioToolbox
- CoreVideo
- CoreMedia
- libiconv
- AddressBook
- AddressBookUI
 


5. Build Phases 탭의 'Target Dependencies' 항목을 확장하고 ZXingWidget을 추가한다.
3번 과정으로 인해 Item이 표시되지 않습니다.



6. ZXing 라이브러리의 헤더파일을 찾을 수 있도록 헤더파일이 등록된 경로를 추가해준다. Build Settings 탭의 'Header Search Paths" 항목에 다음 두 항목을 추가한다. $(SRCROOT)는 프로젝트 파일이 위치한 폴더 경로를 나타낸다.

- $(SRCROOT)/zxing/cpp/core/src
- $(SRCROOT)/zxing/iPhone/XZingWidget/Classes (Recursive 체크)



정상적으로 빌드되는지 확인한다.

다음 포스팅으로 이어집니다.
2011/09/07 - [공부/iOS] - ZXing 라이브러리를 이용한 QR코드 리더 앱 개발하기 #2. 앱 구현하기

참조
-Google Code zxing: http://code.google.com/p/zxing/
Trackback 0 Comment 4
  1. 김민지 2011.10.06 14:02 address edit & del reply

    안녕하세요
    xcode를 사용해서 zxing 테스트중에 궁금한점이 있어서
    이렇게 남깁니다
    5. Build Phases 탭의 'Target Dependencies' 항목을 확장하고 ZXingWidget을 추가한다.

    위에서부터 따라하고 있는데
    이 항목에서 추가를 하면 자꾸 오류가 발생하는데,
    혹 순서가 바뀌는 부분이 있는건지
    궁금합니다

    • Favicon of https://sunsideup.tistory.com BlogIcon EUNIVERSE83 2011.10.07 10:50 신고 address edit & del

      구체적으로 어떤 오류가 발생하는지 알려 주시면 확인해보겠습니다 :-)

  2. 김혜림 2011.12.20 11:00 address edit & del reply

    질문있는데 .....
    qr코드 인식은 하는데 원하는 qr코드에 담긴 정보가 뜨지 않고
    인터넷 주소가 뜨는데 어떤걸 잘 못한것인지 궁금합니다.
    혹시...아실까요 ??

  3. nothing 2012.09.10 11:13 address edit & del reply

    $(SRCROOT)/zxing/iPhone/XZingWidget/Classes -> $(SRCROOT)/zxing/iPhone/ZXingWidget/Classes 오타있네요..^^;