有没有办法从UIPasteboard获取图像的原始数据而不是UIImage,如果它被另一个应用程序复制应用程序,如照片或移动Safari浏览器?如何从UIPasteboard获取图像的原始数据(如照片,Safari等)
我目前面临的IOS 6.0和6.1的IOS(7.0也)
之间的有线差异在IOS 6.0,通过照片或移动Safari浏览器复制图像的UIPasteboard的项目包含图像的原始数据。 但在IOS 6.1及以上版本中,它包含UIImage而不是原始数据。
在IOS 6.0,UIPasteboard的复制的项目下面
Printing description of array:
<__NSArrayM 0x8a804c0>(
{
"com.compuserve.gif" = <47494638 39614002 ...... 3b3a2000 3b>;
"public.url" = "url of the image....";
}
)
是在IOS 6.1以上,它含有的UIImage代替原始数据。
Printing description of array:
<__NSArrayM 0xa25b7b0>(
{
"com.compuserve.gif" = "<UIImage: 0x9429570>";
"public.url" = "url of the image...";
}
)
如果该图像格式是PNG或JPEG,那就不是那么糟糕。 (如果它是JEPG,我仍然需要再次压缩) 但是,当我尝试粘贴动画gif图像时,它变得更加复杂。
我甚至不知道从通常的UIImage创建动画gif图像是否可以通过。
我可以再次从原始网址下载,但下载我已经有的数据似乎不是很好的解决方案,我认为。 而且,如果它是从照片应用复制的,则不存在此类网址。 (这里有一些名为“com.apple.mobileslideshow.asset-object-id-uri”的神秘uri,它没有记录,而不是url)
似乎有一种解决方法,因为当我尝试在照片和电子邮件之间进行完全相同的操作时它可以正常工作
有什么建议吗?
我已经尝试了一切,而你的回答保存了我的一天。 –