#QRCodeの識別
5552 ワード
オープンソースコードを使用してQRCodeScannerを作成します.
QRCodeScanner OpenSource github
まず、シーケンスイメージボードにWebビューを入れてWebViewロードコードを入力します
また、インターネットを利用するために、プロジェクトファイルリストのinfo.plistにApp TransportSecurity Settingsを追加し、YESとしてAllow Arbitrary Loadsを追加します.そうするとNAVERウィンドウが遅くなります
Podをインストールするには、端末がこのプロジェクトの最上位フォルダに入ります.この場合.
pod init->sudo vi podfile->iをクリックして編集モードに切り替え、オープンソースコードでpod'qrcodeReaderをクリックします.swift","~>10.1.0"この部分をコピーして末尾に貼り付け、esc->:wq!
xcodeを閉じ、端末からpod installを入力して外部ソースを取得します.
実行すると、作成したボタンがNaverウィンドウの下部に表示されます.
MainViewControlフルコード
実際に携帯でqrcodeを認識すると
このようなリンクが表示されます.
QrcodeReader Launch関数で
私は初めてオープンソースを使って、もっと熟知させるように努力します.
鄭代理のYoutube
QRCodeScanner OpenSource github
まず、シーケンスイメージボードにWebビューを入れてWebViewロードコードを入力します
class MainViewController: UIViewController {
@IBOutlet weak var WebView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url = URL (string: "https://www.naver.com")
let requestObj = URLRequest(url: url!)
WebView.load(requestObj)
}
プロジェクトのBuildPhaseにのWebスイートを追加し、インターネットを使用また、インターネットを利用するために、プロジェクトファイルリストのinfo.plistにApp TransportSecurity Settingsを追加し、YESとしてAllow Arbitrary Loadsを追加します.そうするとNAVERウィンドウが遅くなります
Podをインストールするには、端末がこのプロジェクトの最上位フォルダに入ります.この場合.
pod init->sudo vi podfile->iをクリックして編集モードに切り替え、オープンソースコードでpod'qrcodeReaderをクリックします.swift","~>10.1.0"この部分をコピーして末尾に貼り付け、esc->:wq!
xcodeを閉じ、端末からpod installを入力して外部ソースを取得します.
実行すると、作成したボタンがNaverウィンドウの下部に表示されます.
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url = URL (string: "https://www.naver.com")
let requestObj = URLRequest(url: url!)
WebView.load(requestObj)
QRButton.translatesAutoresizingMaskIntoConstraints = false
QRButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 30)
QRButton.tintColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
QRButton.layer.cornerRadius = 8
QRButton.addTarget(self, action: #selector(qrcodeReaderLaunch), for: .touchUpInside)
}
@objc fileprivate func qrcodeReaderLaunch(){
print("qrcodeReaderLaunce called.")
}
QRCodeScannerを実行するには、オープンソースコードに従って使用します.MainViewControlフルコード
import UIKit
import WebKit
import AVFoundation
import QRCodeReader
class MainViewController: UIViewController, QRCodeReaderViewControllerDelegate {
@IBOutlet weak var QRButton: UIButton!
@IBOutlet weak var WebView: WKWebView!
//QRCodeReaderViewController 만든다.
lazy var readerVC: QRCodeReaderViewController = {
let builder = QRCodeReaderViewControllerBuilder {
$0.reader = QRCodeReader(metadataObjectTypes: [.qr], captureDevicePosition: .back)
// Configure the view controller (optional)
$0.showTorchButton = false
$0.showSwitchCameraButton = false
$0.showCancelButton = false
$0.showOverlayView = true
$0.rectOfInterest = CGRect(x: 0.2, y: 0.2, width: 0.6, height: 0.6)
}
return QRCodeReaderViewController(builder: builder)
}()
//MARK: - override method
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url = URL (string: "https://www.naver.com")
let requestObj = URLRequest(url: url!)
WebView.load(requestObj)
QRButton.translatesAutoresizingMaskIntoConstraints = false
QRButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 30)
QRButton.tintColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
QRButton.layer.cornerRadius = 8
QRButton.addTarget(self, action: #selector(qrcodeReaderLaunch), for: .touchUpInside)
}
//MARK: - fileprivate method
//
@objc fileprivate func qrcodeReaderLaunch(){
print("qrcodeReaderLaunce called.")
// Retrieve the QRCode content
// By using the delegate pattern
readerVC.delegate = self
// Or by using the closure pattern
readerVC.completionBlock = { (result: QRCodeReaderResult?) in
print(result)
}
// Presents the readerVC as modal form sheet
readerVC.modalPresentationStyle = .formSheet
//설정된 QRCode 뷰 컨트롤러를 화면에 보여줌.
present(readerVC, animated: true, completion: nil)
}
// MARK: - QRCodeReaderViewController Delegate Methods
func reader(_ reader: QRCodeReaderViewController, didScanResult result: QRCodeReaderResult) {
reader.stopScanning()
dismiss(animated: true, completion: nil)
}
func readerDidCancel(_ reader: QRCodeReaderViewController) {
reader.stopScanning()
dismiss(animated: true, completion: nil)
}
}
ボタンを押すと、次のような画面が表示されます.実際に携帯でqrcodeを認識すると
このようなリンクが表示されます.
QrcodeReader Launch関数で
let scannedUrl = URL(string: scannedUrlString)
self.WebView.load(URLRequest(url: scannedUrl!))
これで携帯電話でqrcodeを認識したときに画面が表示されます私は初めてオープンソースを使って、もっと熟知させるように努力します.
リファレンス
鄭代理のYoutube
Reference
この問題について(#QRCodeの識別), 我々は、より多くの情報をここで見つけました https://velog.io/@kkll135/QRCode-인식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol