J'ai réussi à trouver une réponse des développeurs de ce cadre sur le site de la forum de la pomme :
Oui, PHPickerResult a la propriété assetIdentifier qui peut contenir un identifiant local pour aller chercher le PHAsset dans la bibliothèque. Pour que PHPicker renvoie les identifiants des actifs, vous devez initialiser PHPickerConfiguration avec la bibliothèque.
Veuillez noter que PHPicker ne prolonge pas la bibliothèque de photos limitée. pour les éléments sélectionnés si l'utilisateur met votre application en mode Photothèque limitée. Photos Library. Ce serait une bonne occasion de reconsidérer si l'application a vraiment besoin d'un accès direct à la photothèque ou peut travailler avec seulement les données d'image et de vidéo. Mais cela dépend vraiment de l'application.
La section correspondante de la session "Rencontre avec le nouveau sélecteur de photos". commence à 10m 20s .
Un exemple de code pour l'accès à PhotoKit ressemble à ceci :
import UIKit
import PhotosUI
class PhotoKitPickerViewController: UIViewController, PHPickerViewControllerDelegate {
@IBAction func presentPicker(_ sender: Any) {
let photoLibrary = PHPhotoLibrary.shared()
let configuration = PHPickerConfiguration(photoLibrary: photoLibrary)
let picker = PHPickerViewController(configuration: configuration)
picker.delegate = self
present(picker, animated: true)
}
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
picker.dismiss(animated: true)
let identifiers = results.compactMap(\.assetIdentifier)
let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: identifiers, options: nil)
// TODO: Do something with the fetch result if you have Photos Library access
}
}