19
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOS14での写真アプリへのアクセスレベルについて

Last updated at Posted at 2020-08-06

はじめに

※ 本記事はWWDC2020で発表された内容を元に作成しております。
※ 記事中の画像はWWDC2020での発表のものを引用させていただいております。

iOS14から写真アプリへのアクセス方法に更新があるため、今回調査してまとめてみました。

写真アプリへのアクセスレベルの指定

iOS14から写真アプリへの認証を確認する際にはアクセスレベルを指定することが必要になります。
これには新たに定義された列挙型のPHAccessLevelを用います。
これによりアクセスレベルを追加のみ.addOnly、もしくは読み込み/書き込み.readWriteに指定することができるようになりました。

スクリーンショット 2020-08-05 22.36.12.png

見た目の変化

iOS13以前では新規でアプリをリリースしてそのアプリ内で写真を撮った場合、単に写真アプリへのアクセスを許可するかどうかの表示となっていたと思います。

iOS14ではアクセスのレベルがより細かく設定できるようになりました。
これにより、

写真の追加のみ
 ├ 許可する
 └ 許可しない

読み込み/書き込み
 ├ 全ての写真を対象
 ├ 選択した写真のみ対象
 └ 許可しない

といった選択肢になりました。
PHAccessLevel.addOnlyにしていると左画像、.readWriteにしていると右画像のようになります。
スクリーンショット 2020-08-05 22.21.17.png スクリーンショット 2020-08-05 22.21.37.png

コードでの対応

iOS13まではPHPhotoLibrary.authorizationStatus()に引数はありませんでしたが、iOS14では下記コードの中段のように引数にアクセスレベルを宣言する必要があります。
PHAccessLevelを用いたコード

まとめ

iOS14からはPHAccessLevelの登場により写真アプリのアクセスに影響が現れるので、アプリの用途に応じて認証の.addOnly.readWriteを宣言する必要があります。
抜け漏れをせずに対応していきましょう。

参考

  1. Handle the Limited Photos Library in your app
  2. Photo library changes in iOS 14
  3. authorizationStatus() | Apple Developer Documentation
19
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?