Swift 4でQRコードを読み取る

前の記事でも触れたように、第1回もくもく会ではQRコードの読み取りをテーマにもくもくしました。

このテーマは先人達がすでにやってることなので、お手本があれば1時間もかからずに終わるだろうと思っていましたが、Swiftのバージョンが3から4に上がって間もない昨今。時間内に用途に合わせてアレンジするところまでは辿り着けませんでした。が、QRコード読み取りまでは実現できたので、第1回もくもく会開催記念ということでコードをGistにアップしました。

QRコードに紐付いたWebサイトをSafariで開くという単純なしくみです。

※iOS 11から標準のカメラアプリにも実装されているしくみなので、上記コードが必要になるシーンは、おそらくありません。

上記コードをアレンジする際のポイントは、QRコード読み取りの前後をイイ感じで実装してあげる点になるかと思います。
上記コードでは、QRコードを読み取ってURLを得ることができたら、Safariを起動して読み取りを終了させているため、結果的にひとつのQRコードしか読み取れませんし、後に続く機能がないためアプリはそこで止まってしまいます。

用途によっては、QRコードの読み取りを連続して行うこともあれば、読み取る度に他の画面へ移ることも考えられます。
QRコード読み取り前後の処理はケースバイケースなので、用途に合わせた実装が求められますね。

ということで、次回以降、上記コードをアレンジしてシンプルなアプリをつくる手順について紹介していきたいと思います。

※間違っているところやもっと良い方法があるかもしれないので、気づいた方は指摘していただけると嬉しいです。

Comments