Swift: アルバム・カメラ・マイク・プッシュ通知のアクセス許可判定一覧

自分用にアプリ開発時、よく使用するユーザーアクセス許可判定を関数化しメモしました。
コピペで即時利用可能ですので、お役立ていただければと思います。

目次

  • アルバム・カメラ・マイク・プッシュ通知のアクセス許可判定一覧
  • まとめ

アルバム・カメラ・マイク・プッシュ通知のアクセス許可判定一覧

カメラとマイクのアクセス判定は、事前に AVFoundation Framework をインポートしておく必要があります。

アルバム

func checkPhotoAuthorizationStatus() {
    let status: PHAuthorizationStatus = PHPhotoLibrary.authorizationStatus()
    
    switch (status) {
    case .Authorized:
        // ユーザーがアクセス許可を承認
        break;
    case .Restricted:
        // まだアクセスが許可されていない
        break;
    case .NotDetermined:
        // ユーザーがまだ選択を行っていない
        break;
    case .Denied:
        // ユーザーがデータへアクセスすることを拒否
        break;
    }
}

カメラ

import AVFoundation

func checkCameraAuthorizationStatus() {
    let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo)
    
    switch (status) {
    case .Authorized:
        // ユーザーがアクセス許可を承認
        break;
    case .Restricted:
        // まだアクセスが許可されていない
        break;
    case .NotDetermined:
        // ユーザーがまだ選択を行っていない
        break;
    case .Denied:
        // ユーザーがデータへアクセスすることを拒否
        break;
    }
}

マイク

import AVFoundation

func checkMicrophoneAuthorizationStatus() {
    let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeAudio)
    
    switch (status) {
    case .Authorized:
        // ユーザーがアクセス許可を承認
        break;
    case .Restricted:
        // まだアクセスが許可されていない
        break;
    case .NotDetermined:
        // ユーザーがまだ選択を行っていない
        break;
    case .Denied:
        // ユーザーがデータへアクセスすることを拒否
        break;
    }
}

プッシュ通知

func pushNotificationAuthorizationStatus() -> Bool {
    return UIApplication.sharedApplication().isRegisteredForRemoteNotifications()
}

// 使用例
let isPushNotification: Bool = pushNotificationAuthorizationStatus()

まとめ

アプリがこれらの機能のアクセスを必須とする場合、判定時に許可されていない、選択をおこなっていない、拒否している場合にはアラートを出し、再度アクセス許可を促すようにすればいいかと思います。

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents