最近,我们更新了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
早期的file:///private/var/mobile/Containers/Data/Application/7BFD7CEC-E383-4C63-8DF8-A0830EE948AC/tmp/36346EAD-AADC-4A9A-9DEE-416A2DE0BE71.MOV版本在值 iOS下面返回
注意:当视频被直接从app上传到摄像机中时。这不会给我们带来任何问题。这是当视频从画廊,然后应用程序的行为不同。
请分享你的暗示。
提前谢谢。
发布于 2019-10-24 13:59:26
我也有过类似的问题。我认为解决方案是将视频复制到应用程序可以访问的临时位置。
另一个问题的答案是here。
发布于 2019-10-15 09:44:53
以上问题的解决方案:在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];https://stackoverflow.com/questions/58135896
复制相似问题