조회 수 1628 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
ZXing 라이브러리로 테스트삼아 개발한 앱이 1D 바코드 스캔 시 에러를 계속 뱉어 낸다. 이유를 알 수 없어 ZXing 구글코드 위키를 살펴보니, iOS용 ZXing 라이브러리는 1D 바코드를 읽을 수 없다고 한다.

마음 같아서는 RedLaser SDK라도 사서 쓰자고 하고 싶었지만 가격보고 포기했다. XZing을 제외한 쓸만한 iOS용 바코드 스캔 라이브러리는 죄다 유료인 와중에, 개발자들의 성지 스택오버플로우의 양덕 개발자 댓글을 통해 ZBar라는 바코드 스캔 라이브러리를 찾았다. XZing과 비교해 사용법도 간단하고 기능도 쓸만한다. (실제 앱 스토어에 올라가 있는 앱의 소스코드까지 제공을 하니 스터디 용도로 사용해도 좋을 듯 하다)

적용 및 커스터마이징에 대한 문서화가 잘되어 있기 때문에 여기서는 사용법만 간단히 기록한다. 바코드 및 QR코드를 모두 읽어 내는 간단한 View-based Application이다.

View-based Application 템플릿으로 'ZBarTest' 프로젝트를 생성했다고 가정한다.

1. 프로젝트에 ZBarSDK 폴더를 드래그 앤 드롭하여 추가한다.

2. 'ReaderController'라는 새 뷰 컨트롤러를 추가한다.
Xib 파일은 포함하지 않는다.

3. ReaderController.h 파일에 "ZBarReaderViewController.h" 파일을 임포트하고,
UIViewController 클래스대신 ZBarReaderViewController클래스를 상속하도록 수정한다.
#import <UIKit/UIKit.h>
#import "ZBarReaderViewController.h"
 
@interface ReaderController : ZBarReaderViewController
{
     
}
 
@end

4. ZBarTestViewController.h에 'ZBarSDK.h' 헤더파일을 임포트하고,
ZBarReaderDelegate 프로토콜을 추가한다.
UITextField와 UIButton을 이용하여 간단하게 UI를 구성하고,
아웃렛 및 액션 메서드를 선언, UI와 연결한다.
#import <UIKit/UIKit.h>
#import "ZBarSDK.h"
 
@interface ZBarTestViewController : UIViewController <ZBarReaderDelegate>
{
    UITextField *results;
}
 
@property (nonatomic, retain) IBOutlet UITextField *results;
 
- (IBAction)scanPressed:(id)sender;
 
@end

5. ZBarTestViewController의 액션 메서드를 구현한다.
- (void)scanPressed:(id)sender
{
    ReaderController *reader = [ReaderController new];
    // 델리게이트 지정
    reader.readerDelegate = self;
    // 모달뷰로 표시한다.
    [self presentModalViewController:reader animated:YES];  
}

6. 스캔 완료/취소를 처리할 ZBarReaderDelegate 메서드를 작성한다.
#pragma mark - ZBarReaderDelegate Methods
 
- (void)imagePickerController:(UIImagePickerController *)reader
    didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    id<NSFastEnumeration> scanResults =
        [info objectForKey:ZBarReaderControllerResults];

    ZBarSymbol *symbol =nil;
    for (symbol in scanResults)
        break;
 
    // 스캔 결과를 표시한다.
    results.text = symbol.data;
     
    [self dismissModalViewControllerAnimated:YES];
}
 
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissModalViewControllerAnimated:YES];
}

빌드하고 디바이스에서 실행한다. 1D바코드나 QR코드 (2D바코드)를 읽어 결과를 표시한다.

[출처] http://blueamor.tistory.com/974
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
853 Develop [js] get방식, url이후 모두 그대로 읽어오기.. hooni 2013.04.23 6841
852 Develop [web] URL 인코딩 방법.. 테이블.. ㅋㅋ hooni 2013.04.23 7142
851 PPT [ppt] Magic URLs & Hidden Form Fields 에 대해.. ㅋㅋ file hooni 2013.04.23 12093
850 Develop [js] 툴팁.. 좋은거.. (tooltip) file hooni 2013.04.23 7058
849 Develop [js] 스타크래프트(starcraft).. file hooni 2013.04.23 6640
848 Develop [php] 탐색기와 같은 다이나믹 트리(xml/xsl 이용) file hooni 2013.04.23 7153
847 Develop [c] 네트워크 보안 프로그래밍 과제 (Server,Agent,Client) file hooni 2013.04.23 6472
846 System/OS [windows] 원격 데스크탑(터미널 서비스) 포트 변경 hooni 2013.04.23 16305
845 System/OS [switch] 시스코 스위치 관리자 암호 초기화 방법 hooni 2013.04.23 17186
844 System/OS [switch] 시스코 카탈리스트(Cisco Catalyst) 기본 설정 hooni 2013.04.23 17496
843 Develop [switch] 시스코 카탈리스트(Cisco Catalyst) 2950 미러링 설정 hooni 2013.04.23 11387
842 Develop [c] 시스템 보안 과제.. 시간(amc time) 변경 file hooni 2013.04.23 7193
841 Develop [c] 암호 알고리즘 소스.. file hooni 2013.04.23 8341
840 Develop [c] 지폰(gphone) 소스.. 수정(암호화) file hooni 2013.04.23 7434
839 System/OS [perl] 영규가 만든 스크립트.. 하하.. hooni 2013.04.23 10597
838 Develop [c] 파일(int fd)에서 개행문자 단위로 읽기 by 후리자 hooni 2013.04.23 7152
Board Pagination Prev 1 ... 19 20 21 22 23 ... 74 Next
/ 74