iOS17でPHPhotoLibrary.authorizationStatusの結果が変わっていた話
iOS17から写真へのアクセスの権限が 「選択した写真」 から 「制限付きアクセス」 に変更されました
この変更に伴いPHPhotoLibrary.authorizationStatusの結果が一部変わっていた話です
小さい変更なので、ほとんどのアプリは影響を受けていない印象です
変わっていた箇所
PHPhotoLibrary.authorizationStatus(for: .addOnly)
の結果が
- iOS16の 「選択した写真」 の場合、 .limited だったのに対して
- iOS17の 「制限付きアクセス」 の場合、 .authorized に変わっています
他の権限の「フルアクセス(旧すべての写真)」や「写真の追加のみ」、「なし」の場合、PHPhotoLibrary.requestAuthorization(for: .readWrite)
で権限確認した場合の結果に変更はありませんでした
また、試した限り「制限付きアクセス」の場合にできることは、「選択した写真」と同じようでした
権限の状態とauthorizationStatusの結果のまとめ
.authorizationStatus (for: .readWrite) |
.requestAuthorization (for: .addOnly) |
|
---|---|---|
なし | .denied | .denied |
写真の追加のみ | .denied | .authorized |
制限付きアクセス (旧選択した写真) |
.limited | iOS17から: .authorized iOS16まで: .limited |
フルアクセス (旧すべての写真) |
.authorized | .authorized |
まとめ
細かい変更ですが、微妙に引いてしまったのでまとめました
iOS17以降の結果の方が直感的な印象です
また、権限設定の画面もiOS17から、とても丁寧で分かりやすくなってて良いですね
iOS16 | iOS17 |
---|---|