質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3148閲覧

iOS14のPHPickerViewControllerについて

yuabe

総合スコア143

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/09/17 11:26

編集2020/09/17 12:57

iOS14でPhotoライブラリーにアクセスする際に利用するPHPickerViewControllerについてご質問お願いいたします。
表示されたPHPickerViewControllerには動画のみ表示させたいのですが、PHPhotoLibrary.requestAuthorization(for: accessLevel)を呼び出した場合、表示されるのは写真と動画の両方が表示されてしまいます。
かといってコメントアウトしているpickerDisplayメソッドを呼び出すとPHPhotoLibrary.requestAuthorization(for: accessLevel)のPHPickerViewControllerが表示されますがそれがdismissされたあとに動画のみが表示されたPHPickerViewControllerが再度表示されてしまいます。

ユーザーがアプリをダウンロードしアルバムボタンを押したらアルバムアクセス許諾ダイアログが表示され「許可しない」以外を選択した際に表示されるPHPickerViewControllerには動画のみ表示させたい場合はどうすればいいのでしょうか?

それともそもそもPHPhotoLibrary.requestAuthorization(for: accessLevel)で許可を求める事自体が不要なのでしょうか?

ご教授いただけますと大変助かります。

Swift

1 2let accessLevel : PHAccessLevel = .readWrite 3let phStatus = PHPhotoLibrary.authorizationStatus(for: accessLevel) 4 5swich phStatus { 6case .notDetermined: 7PHPhotoLibrary.requestAuthorization(for: accessLevel) { 8status in 9 10// self.pickerDisplay() 11} 12default: 13//other 14break; 15} 16 17func pickerDisplay() { 18 19let photoLibrary = PHPhotoLibrary.shared() 20let configuration = PHPickerConfiguration(photoLibrary: photoLibrary) 21configration.filter = .videos 22let picker = PHPickerViewController(configuration: configuration) 23picker.delegate = self 24DispatchQueue.main.async { 25 self.present(picker, animated: true) 26} 27} 28 29func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { 30picker.dismiss(animated: true) 31let identifiers = results.compactMap(.assetIdentifier) 32let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: identifiers, options: nil) 33 34// TODO: Do something with the fetch result if you have Photos Library access 35} 36

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

承認リクエストが必要ありませんでした。

投稿2020/09/18 02:42

yuabe

総合スコア143

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問