«Невозможно добавить значение типа« [NSObject: AnyObject] »с индексом типа« UIImagePickerController.Infokey ». - PullRequest
0 голосов
/ 10 июля 2019

Я работаю над приложением, которое сможет отправлять почту без использования клиента IOS.Я решил использовать mailcore2 async api.На данный момент я могу отправить электронное письмо, но я хотел бы добавить к нему вложение, и я на самом деле пытаюсь одним нажатием кнопки открыть галерею, выбрать изображение и получить его путь.Я пытаюсь этот кусок кода, но в строке 2 и 7 появляется ошибка с моим "

let imageURL

и

let image

":

" Невозможно добавить значение типа '[NSObject: AnyObject]' с помощьюиндекс типа 'UIImagePickerController.InfoKey'

Вот код:

    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
        let imageURL = info[UIImagePickerController.InfoKey.referenceURL] as NSURL
        let imageName = imageURL.path!.lastPathComponent
        let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first as! String
        let localPath = documentDirectory.stringByAppendingPathComponent(imageName)

        let image = info[UIImagePickerController.InfoKey.originalImage] as UIImage
        let data = UIImagePNGRepresentation(image)
        data.writeToFile(localPath, atomically: true)

        let imageData = NSData(contentsOfFile: localPath)!
        let photoURL = NSURL(fileURLWithPath: localPath)
        let imageWithData = UIImage(data: imageData)!

        picker.dismiss(animated: true, completion: nil)
    }

1 Ответ

0 голосов
/ 10 июля 2019

Вы используете старую версию Swift, чтобы получить URL-адрес изображения:

let imageURL = info[UIImagePickerControllerReferenceURL] as NSURL

Я советую вам обновить до Swift 5.0 в будущем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...