Permission Scope で写真のパーミッションを再取得する
アプリがユーザーの写真にアクセスするにはパーミッションを取得する必要があります。
このとき パーミッションをいちど拒否されると再許可してもらうには設定アプリを階層深くまで辿ってもらわねばなりません。
しかし Permission Scope を使うと 再許可までカンタンにナビゲーションできます。
Permission Scope とは
PermissionScope is a Swift framework for intelligently requesting permissions from users.It contains not only a simple UI to request permissions but also a unified permissions API that can tell you the status of any given system permission or easily request them.
https://github.com/nickoneill/PermissionScope
PermissionScope is a Swift framework for intelligently requesting permissions from users.It contains not only a simple UI to request permissions but also a unified permissions API that can tell you the status of any given system permission or easily request them.
https://github.com/nickoneill/PermissionScope
パーミッション取得をカンタンにしてくれるのが Permission Scope です。
さまざまなパーミッションを取得するのに統一された API を提供してくれます。
インストールは CocoaPods と Carthage で出来ます。
パーミッションを取得する
README を読んでサンプルを書いてみました。
ビューにある imagePickerボタンを押すことで 下記の IBAction を起動しています:
@IBAction func imagePickerButtonTapped(sender: AnyObject) {
let permissions = PermissionScope()
// ダイアログの表示に self(ViewController) を使う
permissions.viewControllerForAlerts = self
// 設定アプリ遷移後にパーミッションの設定が変わったときにコールバックされる
permissions.onAuthChange = { [unowned self] (finished, results) in
if results[0].status == .Authorized { //再許可とれた
self.presentImagePickerController()//ImagePickerController 起動
}
}
switch permissions.statusPhotos() { // 写真のパーミッションをチェック
case .Authorized: // すでに写真へのアクセスを許可済みのとき
presentImagePickerController() // ImagePickerController 起動
case .Unknown, .Unauthorized, .Disabled:
// Unknown: パーミッション未設定, Unauthorized: アクセス拒否,
// Disabled: システムレベルで無効
permissions.requestPhotos() // 未設定やいちど拒否されたときは
// 再度問い合わせする
}
}
requestPhotos メソッドのなかでは いまのパーミッションに応じたダイアログを表示してくれます。
たとえば 写真へのアクセスをいちど拒否したあとで再取得するときは"写真へのアクセスを拒否したけど どうする?"的な感じです:
ほかにできること
今回は試していませんが、Camera と Notification など複数のパーミッションの組み合わせを取得したいときは いい感じにパーミッションを取得してくれるようです:
UI のカスタマイズもいろいろできるとのことです。
参考資料
Author And Source
この問題について(Permission Scope で写真のパーミッションを再取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/kumapo/items/f2c9ce7484913122d7b4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .