将video从YouTube应用程序分享到iOS上的应用程序

无论如何,我可以让我的应用程序出现,当我点击iOS上的YouTube上的应用程序中的video上的分享button?

我知道如何将我的应用程序添加到打开的选项,通过添加我的文档typesInfo.plist文件,但有没有办法做类似的操作时,在iOS上的YouTube上的应用程序按下共享button?

类似于在这里回答的android问题。

android youtube:分享一个youtubevideo到我的应用程序?

不可能..

首先考虑如何将图标或您的应用程序共享选项放入YouTube应用程序..? 我不认为你可以在iOS中这样做.. 因为分享选项由YouTube提供,我们无法更改到YouTube API或YouTube应用程序。 如何将图标或您的应用程序分享到YouTube应用程序?

与我共享我可以分享在Youtube App或Safari上打开的video

从iOS 8开始,使用“应用程序共享扩展”成为可能

如果您使用SLComposeViewController,您将获得使用的URL

self.contentText 

如果你创build了自定义的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]; }]; } 

你可以做一个共享扩展应用程序,通常接受链接 ,如果你只想要youtube链接,你可以使用正则expression式来过滤即将到来的链接。

在这里输入图像说明 在这里输入图像说明

当使用YouTube的iOS应用程序和按下更多的分享任何video打开iOS本机操作表我做了一个共享扩展到我的应用程序,它出现在共享选项。

当我的应用程序被选中,我收到一个链接到video。

我用这个正则expression式"https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube\\.com\\S*[^\\w\\-\\s])([\\w\\-]{11})(?=[^\\w\\-]|$)(?![?=&+%\\w]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w]*"来检测链接是然后我使用这个正则expression式"((?<=(v|V)/)|(?<=be/)|(?<=(\\?|\\&)v=)|(?<=embed/))([\\w-]++)"来检测链接的videoId

参考: ios8-share-extension-swift

共享代码之间-原始IOS-APP-和应用内延伸