Ios 将视频从资源复制到UIPasteboard

Ios 将视频从资源复制到UIPasteboard,ios,objective-c,iphone,keyboard,uipasteboard,Ios,Objective C,Iphone,Keyboard,Uipasteboard,我正在开发一个带有键盘扩展的自定义键盘 我想将视频从我的资源文件夹复制到UIPasteboard。为此,我使用下面的代码,但没有运气 NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"SampleVideo_1280x720_1mb" ofType:@"mp4"]; NSURL *movieURL = [NSURL fileURLWithPath:moviePath]

我正在开发一个带有键盘扩展的自定义键盘

我想将视频从我的资源文件夹复制到UIPasteboard。为此,我使用下面的代码,但没有运气

NSBundle *bundle = [NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:@"SampleVideo_1280x720_1mb" ofType:@"mp4"];
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
NSData *data = [NSData dataWithContentsOfURL:movieURL];
[[UIPasteboard generalPasteboard]setPersistent:YES];
[[UIPasteboard generalPasteboard] setData:data forPasteboardType:(NSString *)kUTTypeVideo];
你能帮我这个吗

还有一件事可以做吗


提前感谢。

您使用的粘贴板类型(kUTTypeVideo)适用于没有声音的电影类型。这是行不通的。如果您使用该粘贴板类型将mp4文件复制到粘贴板,然后将其粘贴到iMessage聊天字段中,则会显示该文件是未知且无法打印的格式

相反,请使用kUTTypeQuickTimeMovie或kUTTypeMPEG4。这会奏效的


此外,无需将persistent设置为Yes;这是通用粘贴板,它是一种超越任何应用程序时空的系统粘贴板,因此您无需这样做。:)

您使用的粘贴板类型(kUTTypeVideo)用于无声音的电影类型。这是行不通的。如果您使用该粘贴板类型将mp4文件复制到粘贴板,然后将其粘贴到iMessage聊天字段中,则会显示该文件是未知且无法打印的格式

相反,请使用kUTTypeQuickTimeMovie或kUTTypeMPEG4。这会奏效的


此外,无需将persistent设置为Yes;这是通用粘贴板,它是一种超越任何应用程序时空的系统粘贴板,因此您无需这样做。:)

试试这段代码。这对我有用

    let pb = UIPasteboard.generalPasteboard()
    let url: NSURL = NSBundle.mainBundle().URLForResource("\(tempArray[indexPath.row])", withExtension: "mp4")!
    let data1: NSData = try! NSData(contentsOfURL: url, options: NSDataReadingOptions.DataReadingMappedIfSafe)

    let data: NSData = NSData(contentsOfURL: url)!
    print(data)
    pb.persistent = true
    pb.setData(data1, forPasteboardType: "public.mpeg-4")

如果你想从NSBundle获取视频的URL,你需要在本地添加视频。

试试这段代码。这对我有用

    let pb = UIPasteboard.generalPasteboard()
    let url: NSURL = NSBundle.mainBundle().URLForResource("\(tempArray[indexPath.row])", withExtension: "mp4")!
    let data1: NSData = try! NSData(contentsOfURL: url, options: NSDataReadingOptions.DataReadingMappedIfSafe)

    let data: NSData = NSData(contentsOfURL: url)!
    print(data)
    pb.persistent = true
    pb.setData(data1, forPasteboardType: "public.mpeg-4")

另外,如果你想从
NSBundle
获取视频的URL,你需要在本地添加视频。

否我已经用NSLog检查过它的not nil@Maul你用断点检查过了吗?否我已经用NSLog检查过它的not nil@Maul你用断点检查过了吗?