2016-12-07 5 views
-4

Я пытаюсь реализовать публикацию изображения в Instagram в моем приложении iOS. Я использовал код в этом сообщении.Невозможно преобразовать значение типа 'String' в ожидаемый тип аргумента 'URL'

Post UIImage to Instagram using Swift similar to SLComposeViewController

мне нужно изменить строку:

UIImageJPEGRepresentation(imageInstagram, 1.0)!.writeToFile(jpgPath, atomically: true) 

к:

UIImageJPEGRepresentation(imageInstagram, 1.0)!.write(jpgPath, options: true) 

для Swift 3, но затем я получаю ошибку:

Cannot convert value of type 'String' to expected argument type 'URL'

Doe Кто-нибудь знает, как это исправить?

Спасибо.

+1

вы передаете строку вместо URL. – Wolverine

+0

Что такое jpgPath –

ответ

1

Попробуйте это.

let jpegData = UIImageJPEGRepresentation(imageInstagram, 1.0) 

As I consider "jpgPath" is PATH where you are trying to save image.

если нет, то вот пример того, как вы должны создать этот путь URL

let jpgPath = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("instagram.jpg") 

do { 
    try jpegData.write(to: jpgPath, options: .atomic) 
} catch { 
    print(error) 
} 

Если jpgPath является Строка (который находится в вашем случае), вы можете попробуйте вот так.

do { 
    try data.write(to: URL(fileURLWithPath: jpgPath), options: .atomic) 
} catch { 
    print(error) 
} 
1

Вы передаете string в качестве аргумента, чтобы написать функцию, которая недопустимый аргумент функции записи принимает URL в качестве аргумента.

Так просто заменить

UIImageJPEGRepresentation(imageInstagram, 1.0)!.write(jpgPath, options: true) 

с этим:

UIImageJPEGRepresentation(imageInstagram, 1.0)!.write(to: URL(fileURLWithPath: jpgPath), options: .atomic) 

Для получения более подробной информации посмотрите на this

+1

Вы имели в виду https://developer.apple.com/reference/foundation/nsdata/1410595-write? (Ваша ссылка описывает 'write (toFile: options:)' func) –

+0

@ ŁukaszPrzytuła Спасибо, что указали это. Я заменил ссылку. –

+0

Во всяком случае, тот, с которым вы связались, по-прежнему полезен (вам не нужно будет инициализировать URL со строкой, просто передайте строку как параметр) –

Смежные вопросы

 Смежные вопросы