【问题标题】:UIActivityViewController thinks my jpg is video when share by file URLUIActivityViewController 在通过文件 URL 共享时认为我的 jpg 是视频
【发布时间】:2015-10-20 17:57:00
【问题描述】:

我在 Documents 目录中保存了可以从标准 UIActivityViewController 共享的 jpg 文件。所有活动项目(包括保存图像)都按预期工作,但当点击保存图像时,控制台中会显示以下错误,尽管 jpg 确实保存到相机胶卷中。

这是 iOS 中的错误,还是我必须以某种方式在文件 URL 中指定我的文件是 jpg(而不是视频)?

2015-07-29 06:46:58.317 AppName[4658:893408] 视频 /var/mobile/Containers/Data/Application/A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg无法保存到已保存的相册:Error Domain=AVFoundationErrorDomain Code=-11828 "Cannot Open" UserInfo=0x1702e8b80 {NSLocalizedFailureReason=此媒体格式不支持。, NSLocalizedDescription=无法打开, NSURL=file:///var/mobile /Containers/Data/Application/A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg,NSUnderlyingError=0x170c4f9f0“操作无法完成。(OSStatus错误-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])?
  • 我们开始共享 UIImage,这很有效,但缺点是无法控制发送出去的文件名。共享 NSURL 尊重 jpg 的真实文件名。奇怪的是一切正常,所以我不确定为什么会出现这个错误。
  • 嗨,保罗,我也遇到了这个错误。你有没有想出一个解决方案?谢谢
  • 我在共享 PNG 时看到同样的错误。
  • 同样的问题,有解决办法吗?

标签: ios iphone uiimage uiactivityviewcontroller uiactivity


【解决方案1】:

我在尝试保存 png 文件时收到上述消息。还注意到其他一些错误消息。在跟踪这些问题时,通过应用带有禁用的 OS_ACTIVITY_MODE 来解决这两个问题,如以下问题/答案所示:"Reading from public effective user settings" in iOS 10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多