当我点击ios上的youtube应用中的视频上的分享按钮时,我是否可以让我的应用出现?
我知道如何将我的应用程序添加到open in选项中,方法是将我的文档类型添加到Info.plist文件中,但是当在ios上的youtube应用程序中按下共享按钮时,有没有办法做类似的事情? / p>
类似于这里回答的android问题。
答案 0 :(得分:5)
跟我说完 我可以分享在Youtube应用程序或Safari上打开的视频
从iOS 8开始,这可以通过App Share Extension
实现如果您正在使用SLComposeViewController,您将使用
获取URLself.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链接,则可以使用正则表达式过滤即将发布的链接。
使用Youtube iOS应用程序并通过按更多共享任何视频打开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
答案 1 :(得分:3)
不可能..
首先想一想如何将图标或应用分享选项放入YouTube应用..?我认为您无法在 iOS .. 中执行此操作,因为我们无法更改YouTube API或YouTube应用,因此我们无法更改YouTube API或YouTube应用中的共享选项。 如何将图标或应用分享选项添加到YouTube应用中?