UIActivityViewController认为我的JPG文件是视频,当使用文件URL分享时。

28
我在“文档”目录中保存了jpg文件,可以通过标准的UIActivityViewController共享。所有活动项(包括保存图像)都按预期工作,但是当点击保存图像时,尽管jpg实际上已保存到相机胶卷中,控制台会显示以下错误。这是iOS的一个错误吗?还是我需要以某种方式指定我的文件是jpg(而不是视频)的文件URL?
以下是我使用的代码:

2015-07-29 06:46:58.317 AppName[4658:893408] Video /var/mobile/Containers/Data/Application/A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg cannot be saved to the saved photos album: Error Domain=AVFoundationErrorDomain Code=-11828 "Cannot Open" UserInfo=0x1702e8b80 {NSLocalizedFailureReason=This media format is not supported., NSLocalizedDescription=Cannot Open, NSURL=file:///var/mobile/Containers/Data/Application/A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg, NSUnderlyingError=0x170c4f9f0 "The operation couldn’t be completed. (OSStatus error -12847.)"}

NSURL *fileURL = [NSURL fileURLWithPath: [...path to my file...] isDirectory:NO];
UIActivityViewController *activityViewController = [[UIActivityViewController    alloc] initWithActivityItems:@[fileURL] applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard, UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo];
[self presentViewController:activityViewController animated:YES completion:nil];

你确定要分享NSURL而不是UIImage(在@[fileURL])吗? - Larme
4
我们最初共享UIImage,这很有效,但缺点是无法控制发送出去的文件名。共享NSURL会保留jpg的真实文件名。奇怪的是,这一切都有效运行,所以我不确定为什么会出现这个错误。 - Paul B.
1
当我分享PNG文件时,我看到相同的错误。 - Pang
我认为这不是你所做的事情的问题。我建议提交一个雷达报告(http://bugreporter.apple.com),让苹果公司意识到这个问题(开发者论坛并不一定会被监控,只要没有人创建雷达报告,这个问题对于苹果来说基本上不存在)。 - Michael Ochs
2
同样的问题,有任何解决方案吗? - Nininea
显示剩余5条评论
1个回答

0
当我尝试保存一个png文件时,我收到了上述消息。我还注意到了一些其他的错误消息。在追踪这些问题时,通过应用OS_ACTIVITY_MODE并将其禁用,成功解决了两个问题,具体方法可以参考以下问题/答案:"iOS 10中从公共有效用户设置中读取"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接