티스토리 뷰

4.3.2 버전의 XCode에서 스토리 기반 qrcode 라이브러리 (zxing)을 사용해보겠습니다. 3개의 리뷰로 구성하려고 합니다.

1. xcode zxing 사용을 위해서 스토리보드 기반 준비
    http://thdev.net/98

2. xcode zxing 라이브러리 사용 (1/2)
3. xcode zxing 라이브러리 사용 (2/2)

XCode에서 ZXing 라이브러리 사용전 간단히 알아보기
  http://thdev.net/107

xcode 4.0에서 zxing라이브러리 사용법에 관한 글을 링크 걸겠습니다. 참고하시면 좋을 듯 합니다.!^^
  http://sunsideup.tistory.com/84 


너무 오랜만에 2번째 리뷰를 작성하는것 같군요. 그 사이 XCode 도 4.3.1에서 4.3.2로 업데이트 되었습니다.

 이번 리뷰는 스토리보드를 준비했으니 2번째 zxing 라이브러리를 불러와서 사용하는 부분에 대하여 리뷰 작성 할려고 합니다. 일단 XCode를 처음 실행한다는 가정하에서 프로젝트를 불러오겠습니다.

 첫 실행 화면 또는 Command + shift + 1을 통해서 프로젝트를 불러옵니다.

제 프로젝트 이름은 qrcode-zxing 였습니다. qrcode-zxing.xcodeproj 를 불러오겠습니다.

폴더 복사 (cpp, iphone)
 다음으로 zxing 라이브러리에서 필요한 파일을 복사해서 가져옵니다. zxing 라이브러리에서 필요한 파일은 컴파일에서만 필요한 파일입니다. 편의상 압축해제 한 폴더에서 cpp 폴더와 iphone 폴더를 통째로 가져오겠습니다. 이렇게 가지고 오지 않으신다면 컴파일 에러가 날 수 있습니다. 아래쪽에서 에러가 나는 부분을 따로 설명하겠습니다.

ZXingWidget 불러오기
가지고온 라이브러리 중 iphone/ZXingWidget 프로젝트를 제가 만든 프로젝트로 불러와야 합니다.

불러오는 방법에는 2가지가 존재합니다. 드래그앤 드랍, 메뉴를 통한 불러오기가 가능합니다.
아래처럼 ZXingWidget.xcodeproj 파일을 선택하고 불러와야 합니다.

두번째 방법으로는 메뉴를 통하는 방법입니다.
 qrcode-zxing 위에서 오른쪽 클릭을 통해서 Add Files to "qrcode-zxing"...를 클릭합니다.

 경로를 타고 들어가서 ZXingWidget.xcodeproj 를 클릭하고 아래 설정처럼 가지고 옵니다. 그리고 아래 Add to targets 가 qrcode-zxing로 선택되어 있어야 합니다. 체크 되어있지 않으면 체크 해주셔야 합니다.

Identity 설정
 방금 추가한 Project(ZXingWidget.xcodeproj)를 선택하고 Identity의 Location을 상대 주소 프로젝트 Relative to Project를 선택 해주셔야 합니다.


Build Settings 설정
 Build Settings 설정에 다음 2줄의 코드를 추가해주어야 합니다.

$(SRCROOT)/iphone/ZXingWidget/Classes/** $(SRCROOT)/cpp/core/src

위 2 줄을 추가해주어야 합니다.  qrcode-zxing 설정파일에서 Build Settings를 클릭하시면 아래와 같은 화면이 보여집니다.
이중 Header search Paths 에 추가해주어야 합니다.

설정 파일을 추가하면 아래와 같이 추가 됩니다. $(SRCROOT)를 사용하면 현재 생성된 프로젝트의 절대 경로가 추가됩니다.
그리고 ** 은 / 디렉토리 아래의 모든 파일을 사용하겠다는 의미입니다. 다음 화면에서 보시면 v 표시로 표시됩니다.

Link Binary With Libraries 추가
 이제 ZXing 라이브러리를 사용하기 위해서 Link Binary With Libraries를 추가해주어야 합니다.
 Link Binary With Libraries의 위치는 qrcode-zxing를 클릭하고 오른쪽 화면에서 3번째 메뉴입니다.

 필요한 Libraries는 
   libZXingWidget.a (ZXing Widget 라이브러리)
   AddressBook.framework
   AddressBookUI.framework
   libiconv.dylib
   CoreMedia.framework
   CoreVideo.framework
   AudioToolbox.framework
   AVFoundation.framework
 이렇게 8개를 추가해주어야 합니다.

아래와 같이 총 11개의 Libraries 가 추가 됩니다. 여기서 주의해서 보셔야 할게 있습니다. libZXingWidget.a 입니다. 아래 에러 해결 부분에서 설명하겠습니다.

 이제 ZXing Library 를 추가 작업이 완료되었습니다. command + b 를 클릭하여 빌드를 해보시면 됩니다. 만약 에러가 나신다면 클린(shift + command + k)을 해보신 후 다시 빌드해보시기 바랍니다. 그리고 빌드하실때에는 ZXingWidget.xcodeproj가 아닌 qrcode-zxing 프로젝트를 선택해서 빌드하셔야 합니다.

에러 부분

ZXingWidget.xcodeproj 안에 CoreSrc/zxing 부분이 아래 처럼 빨간색으로 표시 되는 경우가 있습니다.

 cpp 폴더를 아래처럼 구성하게 되면 문제가 생길 수 있습니다. 이런 부분은 ZXingWidget.xcodeproj 의 설정된 경로를 잘 변경하셔야 합니다.

 libZXingWidget.a 가 아래처럼 빨간색으로 표시되는 경우가 있을 수 있습니다. 저도 이 부분 때문에 한참 헤매였던 적이 있습니다. 이글을 읽어보시는 분은 헤매지 않았으면 해서 에러 부분을 작성합니다.

 빌드가 정상적으로 이루어지지 않고, ZXingWidget.xcodeproj 에서 사용하는 cpp 폴더의 경로와 qrcode-zxing 에서 사용한 경로 "Build Settings 설정" 부분의 경로가 잘 못되었을 경우에 일어나는 경우입니다. 꼭 폴더의 위치를 확인하시고, 수정을 해주시기 바랍니다.

 libZXingWidget.a 파일을 삭제(command + delete) 하신다음 클린, 다시 빌드 해주신 다음 Link Binary With Libraries 를 다시 추가해주시기 바랍니다.





댓글