将视频从YouTube应用分享到ios上的应用
无论如何,我可以让我的应用出现在点击ios上的YouTube视频中的视频分享按钮时?将视频从YouTube应用分享到ios上的应用
我知道如何将我的应用程序添加到打开的选项,通过将我的文档类型添加到Info.plist文件中,但有没有办法在ios上的youtube应用程序中按下共享按钮时执行类似操作?
类似的android问题在这里回答。
跟我做 我可以分享视频打开了YouTube应用程序或Safari
从iOS的8起这成为可能的应用程序共享扩展
如果您正在使用SLComposeViewController你会得到使用
网址self.contentText
,如果您创建自定义的UIViewController
if([itemProvider hasItemConformingToTypeIdentifier:@"public.plain-text"]) {
NSLog(@"itemprovider = %@", itemProvider);
[itemProvider loadItemForTypeIdentifier:@"public.plain-text" options:nil completionHandler: ^(id<NSSecureCoding> item, NSError *error) {
NSString *url;
if([(NSObject*)item isKindOfClass:[NSString class]]) {
url = (NSString*)item;
}
}];
}
else if([itemProvider hasItemConformingToTypeIdentifier:@"public.url"]){
[itemProvider loadItemForTypeIdentifier:@"public.url" options:nil completionHandler: ^(NSUrl *url, NSError *error) {
NSString *url = [url absoluteString];
}];
}
一般而言,您可以通过making a Share Extension app that accepts links实现该功能,如果您只想要youtube链接,则可以使用正则表达式过滤即将到来的链接。
当使用iOS版YouTube应用,并通过按更多分享任何视频打开iOS原生的动作片 我做了一个共享的扩展我的应用程序,并在共享选项露面。
当我的应用程序被选中时,我收到一个链接到视频。
我用这个正则表达式 "https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube\\.com\\S*[^\\w\\-\\s])([\\w\\-]{11})(?=[^\\w\\-]|$)(?![?=&+%\\w]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w]*"
检测链接是一个YouTube链接,然后我用这个正则表达式 "((?<=(v|V)/)|(?<=be/)|(?<=(\\?|\\&)v=)|(?<=embed/))([\\w-]++)"
从链路检测VideoID的
这是答案,谢谢! – oronbz
只..the..developer..of..youtube..can ... help..you ....... and..only..when..if..he..is..so .. kind..to..give..you..the..full..source..code ... –
肯定会给他发电子邮件。 – omgpython