iOS10で、フォトライブラリへのアクセスが必要なアプリは、info.plistに
NSPhotoLibraryUsageDescription
で使用用途を書かないとだめでした
iOS11ではさらにフォトライブラリへの読み込みと書き込みでパーミッションが分かれたようで、
NSPhotoLibraryAddUsageDescription
書き込みにはこちらに使用用途を書いてパーミッションを得ないとクラッシュします
読み込みだけなら iOS10でも書いた NSPhotoLibraryUsageDescription だけで問題なし
WebViewで
UIImageWriteToSavedPhotosAlbum()
を実行したタイミングで権限を与えるかのアラートが出るようになります
追記(beta段階なので今後変わるかも)
- iOS11だとフォトライブラリの読み込み時にダイアログが出ない。
- OSの設定で見ても特にパーミッション取れてなくてもフォトライブラリへのアクセスができる
- 画像保存だと NSPhotoLibraryAddUsageDescription の内容が出る。
- 一方、iOS11SDKでビルドしようが、iOS9〜10だと保存に関しても NSPhotoLibraryUsageDescription が参照される
結論としては、
NSPhotoLibraryUsageDescription
NSPhotoLibraryAddUsageDescription
どちらも画像保存するために使うようなことを書いておくのがいいのでは。
apple ドキュメント