【備忘録】iOS 14 細かいTips 写真アクセス権限・バックボタン
iOS 14のTipsを書いていこうと思います。
写真のアクセス権限の変更
iOS 13までは写真のアクセス権限の選択肢が許可しない
・ OK
の2択でしたが、
iOS 14からは写真のアクセス権限の選択肢が 写真を選択
・ 全ての写真へのアクセスを許可
・ 許可しない
の3択になりました。
iOS 14では写真個別にアクセス権限を与えれるようになりました。
iOS 14ダイアログ
写真のアクセス権限の呼び出しは以下のコードでOSに合わせてダイアログを表示します。
PHPhotoLibrary.requestAuthorization { _ in
// 省略
}
iOS 14でも従来のダイアログを出すには?
アプリで写真を保存するだけの用途なら従来のダイアログで問題ないと思います。
まず、Info.plistにPrivacy - Photo Library Additions Usage Description (NSPhotoLibraryAddUsageDescription)
を設定して文言を追加します。
なら以下のコードで大丈夫です。
if #available(iOS 14, *) {
PHPhotoLibrary.requestAuthorization(for: .addOnly) { _ in
// 省略
}
} else {
PHPhotoLibrary.requestAuthorization { _ in
// 省略
}
}
requestAuthorization
というメソッドで 写真のみ追加
もしくは 読み出し/書き込み
のどちらかで指定して呼び出しできるので .addOnly
を指定すると従来のダイアログが出すことができます。
バックボタン
iOS 14からバックボタンを長押しすることで前の画面らをリストしたポップアップが表示され、一気に一番最初の画面に戻るなどできるようになりました。
他にもバックボタンの見た目も制御できるようになり、UINavigationItemクラスに以下のプロパティが追加されました。
var backButtonDisplayMode: UINavigationItem.BackButtonDisplayMode { get set }
見た目は3種類設定できます
.default
前の画面タイトルがバックボタンに反映します
※タイトルが入ってなければ Back
になります
.generic
.minimal
コード例
if #available(iOS 14.0, *) {
self.navigationItem.backButtonDisplayMode = .minimal
}
注意
バックボタンの見た目は制御できますが、長押しした際のリストは画面タイトル(self.title
)もしくはバックボタン(backButtonTitle
)の文言が表示されます。
もし何も文言を入れてないと空欄にまたは同じ文言を入れると、どこの画面に戻るかぱっと見でわからなくなってしまいます。
iOS 14のバックボタンの対応として長押しした際にどこの画面に戻るか分かる文言を設定してあげるといいです。
Author And Source
この問題について(【備忘録】iOS 14 細かいTips 写真アクセス権限・バックボタン), 我々は、より多くの情報をここで見つけました https://qiita.com/miyakeso/items/a28bf5f3a11072572582著者帰属:元の著者の情報は、元の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 .