更新:新增错误12408800苹果公司的网站。
我复制某一个或多个的UIImage到UIPasteboard,并一直工作势如破竹..直到我的手机升级到iOS 6。
- 的Xcode 4.5与iOS 5.1 - 确定
- 的Xcode 4.4与iOS 6.0 - 也行 ( 根据这个帖子 )
- 的Xcode 4.5与iOS 6.0 - 故障
(也测试通过TestFlight分发,为它的价值 - 仍然失败)
这里是我的代码(超级基本等):
// add image to clipboard
UIImage *image = [[UIImage imageNamed:@"testimage"];
[[UIPasteboard generalPasteboard] setPersistent:YES];
[[UIPasteboard generalPasteboard] setImage:image];
这里是当我尝试在MMS / iMessage的窗口粘贴会发生什么(对不起,巨大的屏幕截图; Retina显示屏。):
..和上在iOS6的模拟器的消息示例应用程序的故障的一个例子(见两个问号..?):
就像我说的,上面的代码已经工作了年龄,所以我敢肯定,这是新的东西。
有什么想法吗? 在连接后,笔者建议重新编译一个老版本的Xcode - 但这样不是会使其他iOS6的库停止工作?
这对我的作品上的Xcode 4.5我的iOS 6设备。
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSData *imgData = UIImagePNGRepresentation(@"image");
[pasteboard setData:imgData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];
对于只有一个形象,你应该使用:
#import <MobileCoreServices/UTCoreTypes.h>
对于JPEG:
NSData *jpegData = UIImageJPEGRepresentation(image, 1.0);
[[UIPasteboard generalPasteboard] setData:jpegData forPasteboardType:(id)kUTTypeJPEG];
或为PNG:
NSData *pngData = UIImagePNGRepresentation(image);
[[UIPasteboard generalPasteboard] setData:pngData forPasteboardType:(id)kUTTypePNG];
并避免直接在UIPasteboardTypeListImage索引。
我收到一封电子邮件有关此问题的苹果开发者技术支持,我得到这个答复:
感谢您联系苹果开发技术支持。 我们的工程师已经审核了您的请求,并已经确定,这将作为一个bug报告最好的处理。
请提交有关在使用的Bug Reporter工具这个问题的完整错误报告http://bugreport.apple.com 。
所以这是一个错误肯定...