当記事は以下の記事の派生です。
(この記事だけでも理解いただけるはずです。)
【Swift】CocoaPodsに自作ライブラリを登録する時躓いた - Qiita
ライセンスめんどくさいし自分でも作れるんじゃね?と思いQRReaderを作成。配布にCocoaPods(遺産なんて言わないで)を採用。結果出来たが、少し躓いたのでメモ今回作ったライブラリ今後…
アプリに特別な記載は要りません。
ライブラリ名:QRReader
GitHub - kirasoga/QRReader
Contribute to kirasoga/QRReader development by creating an account on GitHub.
使い方
podが入っている前提で進みます。
Installation(導入方法)
インストールするには Podfile に次の行を追加するだけです。
pod 'QRReader'
How to Use(利用方法)
インスタンスを作成する。
let myQRCodeReader = QRReader()
カメラの画面を表示する。delegateの紐付けがされる。(frameで読み込み範囲の設定もできる)
self.myQRCodeReader.setupCamera(vc:self)
QRコードを読み込んだ時の処理。
⚠️extensionに書いてください。
func metadataOutput(_ output: AVCaptureMetadataOutput,
didOutput metadataObjects: [AVMetadataObject],
from connection: AVCaptureConnection) {
if let metadata = metadataObjects.first as? AVMetadataMachineReadableCodeObject {
guard let barCode = self.myQRCodeReader.previewLayer.transformedMetadataObject(for: metadata),
let barCode = barCode as? AVMetadataMachineReadableCodeObject else {
return
}
// frame following mode(枠追従モード)
self.myQRCodeReader.followingBorder(barCode.bounds)
// stopCamera
self.myQRCodeReader.stopCamera()
if let str = metadata.stringValue {
print(str)
}
}
}
Author(作成者)
KiraSoga, sogakira0202@gmail.com