12/08/2018, 16:42

Scan QrCode Tutorial

Đôi khi các bạn bắt tay làm tính năng scan QrCode cho ứng dụng của mình. Điều đầu tiên nghĩ tới là tìm tới một thư viện một là nó nhanh hơn, tối ưu hơn ... tuy nhiên bản chất thư viện cũng đa phần xây nên từ các framework của apple phát triển. Trong post này mình sẽ hướng dẫn bạn tự viết cho mình ...

Đôi khi các bạn bắt tay làm tính năng scan QrCode cho ứng dụng của mình. Điều đầu tiên nghĩ tới là tìm tới một thư viện một là nó nhanh hơn, tối ưu hơn ... tuy nhiên bản chất thư viện cũng đa phần xây nên từ các framework của apple phát triển. Trong post này mình sẽ hướng dẫn bạn tự viết cho mình scan QrCode sử dụng framework mà apple cung cấp.

1. Overview Demo

Trong demo này mình tạo một sample đơn thuần scan QrCode mà show nội dung trên alert. Trong sample này mình làm theo hướng định nghĩ ra một vùng để scan tức chỉ tại vùng đó mới scan được Qr code. Tuy nhiên về bản chất bạn hoàn toàn có thể bắt QrCode tại bất kỳ vị trí nào trên camera, mễn sao camera detect được Qr Code. Sample kiểu này bạn có thể tham khảo tại https://www.appcoda.com/barcode-reader-swift/. Trong nội dung tutorial này mình sẽ hướng tới việc xác định vị vùng scan Qr code

2. Dựng giao diện

Như đã đề cập, vì sample tập trung vào việc đọc mã Qr nên mình chỉ cần màn hình như sau: Trên đây mình tạo ra bao gồm 1 View bao phủ toàn bộ View chính. View này định nghĩa vùng hiển thị của camera view. Một imageView để định nghĩa vùng quét. Taị sao lại sử dụng một image, đây là phương án để thích nghi với sự thay đổi của khách hàng. Giả sử trong tương lai họ muốn thay đổi hình ảnh vùng quét thành một kiểu khác như ko phải hình vuông mà là mình tam giác chẳng hạn lúc này bạn chỉ cần thay lại image khác là xong. ok! VIew chỉ đơn giản vậy thôi. Constant xong bạn nhớ kéo outlet vào ViewController nhé!

3. Coding

Như đã đề cập từ đầu, post này mình sẽ code dựa vào framework mà apple cung cấp. Đầu tiên bạn phải import thằng import AVFoundation đây là thằng mà mình sẽ dựa vào nó để scan được QrCode. Thêm một em import AudioToolbox cái này chỉ là làm màu khi scan xong để nó rung lên 1 cái thôi             </div>
            
            <div class=

0