MENU
コンテンツ再構築中

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

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

INDEX

目次

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

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

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

アルバム

[code]
func checkPhotoAuthorizationStatus() {
let status: PHAuthorizationStatus = PHPhotoLibrary.authorizationStatus()

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

カメラ

[code]
import AVFoundation

func checkCameraAuthorizationStatus() {
let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo)

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

マイク

[code]
import AVFoundation

func checkMicrophoneAuthorizationStatus() {
let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeAudio)

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

プッシュ通知

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

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

まとめ

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

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

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX