Je ne reçois pas le nom de l'image de la photothèque. Quelqu'un ici sait comment obtenir le nom de l'image?
Remarque: PHAsset.fetchAssets(withALAssetURLs: [imageURL], options: nil)
this is obsolète.
Swift seulement
Merci
J'ai trouvé un moyen
if let asset = info["UIImagePickerControllerPHAsset"] as? PHAsset{
if let fileName = asset.value(forKey: "filename") as? String{
print(fileName)
}
}
Cela vous renverra le nom de fichier réel dans la photothèque.
Voulez-vous dire le nom du fichier image? Si oui, cela devrait vous aider. Dans votre UIImagePickerControllerDelegate:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
guard let fileUrl = info[UIImagePickerControllerImageURL] as? URL else { return }
print(fileUrl.lastPathComponent)
}
Essayez avec le code ci-dessous
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset {
if let fileName = (asset.value(forKey: "filename")) as? String {
print(\(fileName))
}
}
// Other Stuff
}
S'il vous plaît, essayez celui-la.
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset {
let assetResources = PHAssetResource.assetResources(for: asset)
print(assetResources.first!.originalFilename)
}
dismiss(animated: true, completion: nil)
}
UIImagePickerControllerPHAsset
est nil
si vous n'êtes pas autorisé à accéder à la photothèque. Le système d'exploitation ne vous demandera pas automatiquement et vous donnera quand même accès au fichier (je n'ai aucune idée de la logique derrière tout ça!) Mais le dictionnaire PHAsset est le dictionnaire d'information qui sera nul!