【问题标题】:Videos picked from gallery not playing in iOS 13从库中挑选的视频未在 iOS 13 中播放
【发布时间】:2019-09-27 13:49:31
【问题描述】:

最近我们更新了 iOS 13。在更新之前,我们的应用能够从图库中选择视频/媒体。但最近更新后,应用程序从图库中选择视频,但一旦上传,上传的内容显示为 0 字节。猜测操作系统不允许从我们的应用程序访问图库。

在 iOS 12 和之前的版本中,我们没有发现这个问题。图库在我们的应用中运行良好。

以下委托方法在 iOS 13 和更早的 iOS 版本中返回不同的 URL。

- (void)videoPickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
  NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];}

我正在从 UIImagePickerController 返回视频 URL 路径。

iOS 13 的回报低于价值
file:///private/var/mobile/Containers/Data/PluginKitPlugin/36B89CF8-26FC-44BA-AFE1-D689DC04AF44/tmp/trim.400D33F1-BA28-42C8-B6B7-5CEC26656917.MOV

早期 iOS 版本的回报低于价值 file:///private/var/mobile/Containers/Data/Application/7BFD7CEC-E383-4C63-8DF8-A0830EE948AC/tmp/36346EAD-AADC-4A9A-9DEE-416A2DE0BE71.MOV

注意:当直接从应用程序上传到相机中的视频时。它不会给我们带来任何问题。当从图库中挑选视频时,应用的行为就会有所不同。

请分享您的建议。

提前致谢。

【问题讨论】:

  • 请问有什么更新吗?

标签: ios objective-c ios13 video-gallery


【解决方案1】:

我遇到了类似的问题。我认为解决方案是将视频复制到您的应用可以访问的临时位置。

另一个问题的答案是here

【讨论】:

    【解决方案2】:

    上述问题的解决方法:在iOS13中,关闭视频相册后,视频URL变得无效。为此,我们需要更改 URL 目录路径。

    NSURL *videoURL1 = [info objectForKey:UIImagePickerControllerMediaURL];
    
    NSMutableData *imageData = [NSMutableData dataWithContentsOfURL:videoURL1];
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
    NSString *documentsDirectory = [paths objectAtIndex:0];
    
    NSString *videoPath =[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",[NSString stringWithFormat:@"%u.MOV",arc4random() % 99999]]];
    
    BOOL success = [imageData writeToFile:videoPath atomically:NO];
    
    NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
    

    【讨论】:

    • 将整个视频读入内存是完全错误的。如果您想立即显示视频,请不要保留 URL。如果您想保留对用户选择稍后使用视频的视频的引用,请使用 PHAsset。如果要将视频复制到另一个文件夹,请使用 FileManager。
    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    相关资源
    最近更新 更多