iPhoneのLEDライトをLピカさせよう!

  • 7
    いいね
  • 0
    コメント

はじめに

Lピカ というように名前をしているのは、
Lチカ はLEDをチカチカ(エリーチカ!!)させるものなのでこういう名前にしました。

環境

  • Xcode 8.1
  • えるたそ (OS X El Capitan 10.11.6)
  • iPhoneシステムエンジニア iOS10.1
  • Swift 3.0.1
$ swift --version
Apple Swift version 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1)
Target: x86_64-apple-macosx10.9

サンプルコード

ボタンを押したらピカ〜っと光り、もう1回押すと消える

ViewController.swift
import UIKit
import AVFoundation

class ViewController: UIViewController {

    ・・・

    @IBAction func pushFlash(_ sender: Any) {

        let avDevice = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo)

        guard let device = avDevice else {
            return
        }
        if device.hasTorch {
            let torchOn = !device.isTorchActive
            do {
                try device.lockForConfiguration()
            } catch {
                return
            }
            device.torchMode = torchOn ? .on : .off
            device.unlockForConfiguration()
        }
    }

    ・・・

}

LEDライトといえど、カメラ的な分類になるのでしょう。
AVFoundation をインポートしなければならないらしいです。

さいごに

これで寂しいクリスマスもiPhoneの温かい(ようで冷たい)LEDライトで温まって乗り切りましょう!