我正在尝试在我的iOS应用中将图片发布到Instagram。我在这篇文章中使用过这段代码。
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然后我得到错误:
无法转换类型'字符串'的值预期参数类型' URL'
有人知道如何解决这个问题吗?
感谢。
答案 0 :(得分:1)
试试这个。
let jpegData = UIImageJPEGRepresentation(imageInstagram, 1.0)
我认为" jpgPath"是您尝试保存图像的路径。
如果没有,那么这里是一个如何创建PATH 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 :(得分:1)
您正在将string
作为参数传递给write函数,该函数是无效参数,因为write函数将URL
作为参数。
所以简单地替换
UIImageJPEGRepresentation(imageInstagram, 1.0)!.write(jpgPath, options: true)
用这个:
UIImageJPEGRepresentation(imageInstagram, 1.0)!.write(to: URL(fileURLWithPath: jpgPath), options: .atomic)
有关详细信息,请查看this