将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-和应用内延伸