这是一个需要专业知识的专家问题。
使用UIActivityViewController
,可以成功地将高质量无损PNG
图像分享到许多共享平台,但Facebook Messenger除外,每次都会失败,提供的错误是“无法加载内容”。
在Facebook Messenger中,UIImagePNGRepresentation
NSData
和AnyObject
都失败了,然而UIImage
可以成功分享,但输出的图像似乎是JPG格式,低质量并且有损。
问题:
这是怎么回事,如何纠正?如何成功地将高质量无损PNG图像与UIActivityViewController
一起分享到Facebook Messenger?
这是Facebook Messenger,Xcode或UIActivityViewController
的问题或限制吗?
是否有替代NSData
和AnyObject
(以及UIImage
)的方法可以实现此目的?
代码:
var myImage: UIImage!
var myImagePNG: NSData!
//var myImagePNG: AnyObject!
func sharePNG() { …
myImagePNG = UIImagePNGRepresentation(myImage)!
let activity = UIActivityViewController(activityItems: [myImagePNG], applicationActivities: nil)
self.presentViewController(activity, animated: true, completion: nil)
}
图像:
myImage
而不是myImagePNG
。 - CodusmyImage
输出的图像质量低且有损失。当与除Messenger之外的所有应用程序共享时,myImagePNG
提供无损高质量的图像输出。我想要的是在与Messenger共享时也能获得无损高质量的图像输出,这就是我想做的。我希望像与所有其他应用程序共享时一样成功地使用myImagePNG
。 - user4806509