将 YouTube 应用中的视频分享到我的 ios 应用

2023-12-04

当我在 iOS 上的 YouTube 应用程序中单击视频上的共享按钮时,是否可以让我的应用程序出现?

我知道如何通过将我的文档类型添加到 Info.plist 文件来将我的应用程序添加到打开选项中,但是当在 ios 上的 youtube 应用程序中按下共享按钮时,有没有办法执行类似的操作?

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

android youtube:将 youtube 视频分享到我的应用程序?


跟我完事了 我可以分享在 Youtube App 或 Safari 上打开的视频

从 iOS 8 开始,这通过 App Share Extension 成为可能

如果您使用 SLComposeViewController 您将使用以下方法获取 URL

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];


            }];
}

你可以通过以下方式实现制作一个接受链接的共享扩展应用程序一般来说,如果您只想要 YouTube 链接,您可以使用正则表达式过滤即将到来的链接。

enter image description here enter image description here

使用 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

参考:ios8-共享扩展-swift

在原始 ios 应用程序和应用程序扩展之间共享代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 YouTube 应用中的视频分享到我的 ios 应用 的相关文章

  • 游戏中心邀请处理程序,它属于哪里?

    我已经搜索了该网站并发现了这个 GameCenter 邀请处理程序 https stackoverflow com questions 4639284 gamecenter invitation handler He says 正如文档中所
  • 在成为FirstResponder或resignFirstResponder的情况下将对象保持在键盘顶部?

    我目前在键盘顶部有一个 UITextField 当您点击它时 它应该粘在键盘顶部并平滑地向上移动 我不知道键盘的具体时长和动画类型 所以确实很坎坷 这是我所拥有的 theTextView resignFirstResponder UIVie
  • 更改屏幕方向时,创建了新活动

    我对 Android 还比较陌生 但在过去的一年里制作了很多应用程序 所以请原谅我 我知道 当您在设备上运行应用程序并通过旋转设备来更改屏幕方向时 所显示的活动将完全重新创建 我转到 YouTube 应用程序 我使用的是 Nexus 7 w
  • NSUserDefaults 多久同步一次?

    的文档NSUserDefaults说synchronise方法被定期调用 但没有提及频率 10分钟的谷歌搜索没有发现任何信息 发生的频率是多少synchronise方法调用 这是一个未公开的实现细节 可能甚至不是一个恒定的时间间隔 但是 您
  • 在 IOS 中从 iPhone 删除资产(图片或视频)

    我正在开发一个 Iphone 应用程序 我可以使用 Assetslibrary 枚举资产并将它们加载到表视图中 用户可以在应用程序中删除一行 图片 视频 但如何直接从我的应用程序更新 Iphone 相册 否则 刷新时 表视图将重新加载之前删
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • 重叠的装载机圆

    我试图重现苹果为应用程序 活动 制作的重叠圆圈 见下图 如果您使用标准贝塞尔路径 起始 结束位置将仅在 0 到 2PI 之间产生影响 例如 如果您尝试填充 4PI 即使使用一些阴影 则无法模拟重叠加载 如何制作类似于苹果解决方案的东西来创建
  • 我们能否检测用户是否通过主页按钮或锁定按钮离开而没有监听 darwin 通知?

    我最近向应用程序商店提交了一个新的二进制文件并将其发送以供审核 但它立即被拒绝并显示以下消息 不支持的操作 不允许应用程序监听设备锁定通知 经过一番挖掘后 我发现我们无法使用 com apple springboard lockstate
  • 为什么 UITableViewCell 不可访问(对于 VoiceOver)

    我并不是想解决任何问题 当然你可以设置isAccessibilityEnabled true它有效 我的问题是 为什么它默认关闭并且界面生成器中没有适当的部分 在我看来 不建议使 UITableViewCell 子类可访问 有没有更好的方法
  • iOS:滚动视图仅在键盘出现后才起作用

    我制作了滚动视图 其中有很多文本字段 我添加了更新的 TPKeyBoardAvoidingScrollView 并将其添加到滚动视图的文件所有者中 我在 h 文件中添加了插座 在 m 文件中综合并添加了行 self view addSubv
  • 为 iOS 应用程序加载基于 SVG 的图像资源

    我从 thenounproject 购买了一个图标作为 SVG 图像 然后我使用一个名为的 macOS 程序Gapplin http gapplin wolfrosch com 将此 SVG 导出为 PNG 图像 它显示为 100x100
  • 使用 AVFoundation 裁剪 AVAsset 视频

    我在用AVCaptureMovieFileOutput录制一些视频 我使用显示预览层AVLayerVideoGravityResizeAspectFill稍微放大 我遇到的问题是最终的视频较大 包含预览期间不适合屏幕的额外图像 这是预览和生
  • iPhone/Objective-C - 呈现视图和委托时的 UIDocumentInteractionController 类参考

    我在用UIDocumentInteractionController在我的应用程序中 以便在我的应用程序中呈现 Instagram 过滤器屏幕 如下所述 http instagram com developer iphone hooks h
  • 如何用图片替换UITableView?

    我有一个 UITableView 默认为空白 直到用户编辑并向其添加数据 我想显示一张带有说明的图像 直到用户编辑它为止 图片的大小非常适合导航栏和标签栏之间 有没有办法以编程方式执行此操作 您可以使用removeFromSuperview
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 以编程方式在 App Store 上运行搜索?

    是否可以从我的应用程序中打开 App Store 应用程序并运行搜索 我想看看是否有一个 appstore 类型的 URL 可以使用 就像 mailto 和 sms 分别打开邮件和短信一样 有谁知道这是否可能 编辑 更多信息 我一直在尝试使
  • 如何将iPhone/iPad应用程序更改为仅iPhone?

    我有点愚蠢 将我的应用程序构建为同时针对 iPhone 和 iPad 而实际上它应该只针对 iPhone 如何更改设置以使构建仅适用于 iPhone 我实际上已经完成了应用程序的编码并准备提交它 所以希望这只是更改一些晦涩的项目设置的情况
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行

随机推荐

  • 在单元测试中模拟 print()

    可能很难写单元测试对于像这样的方法print 它不会返回任何内容 但会产生写入终端的副作用 您希望确保您期望打印到终端的内容实际上已打印到终端 这unittest mock库可以帮助您测试调用的函数print def greet name
  • 使用 Python、PyQt 和 SQLite 构建联系簿

    目录 演示 Python 联系手册 项目概况 先决条件 Step 1 Creating the Contact Book s Skeleton App With PyQt 构建通讯录项目 创建应用程序的主窗口 编码和运行应用程序 第 2 步
  • 在 Python 中播放和录制声音

    在本课程中 您将学习如何演奏和录音声音在Python使用一些最流行的音频库 您将首先了解播放和录制声音的最简单的方法 然后您将了解一些提供更多功能的库 以换取几行额外的代码 学完本课程后 您将了解如何 播放 MP3 和 WAV 文件以及一系
  • Python 内部函数

    Python 允许在 other 内部声明函数功能 内部函数 也称为嵌套函数 在函数内定义 这种类型的函数可以直接访问 Python 中封闭函数中定义的变量和名称 内部函数有很多用途 最显着的是作为闭包工厂和装饰器函数 在本课程中 您将学习
  • Python 字符串概述

    在本视频中 您将了解字符串数据类型 您将了解什么是字符串以及如何在 Python 中使用它们 字符串和列表是密切相关的数据类型 您将了解它们的共同点以及不同点 在本课程结束时 您将为下一课程奠定良好的基础 下一课程将涵盖基本的字符串方法 例
  • 生成对抗网络:构建您的第一个模型

    目录 什么是生成对抗网络 判别模型与生成模型 生成对抗网络的架构 Your First GAN 准备训练数据 实施鉴别器 实现生成器 训练模型 检查GAN生成的样本 Handwritten Digits Generator With a G
  • Django 身份验证

    以下是 Django 用户管理的资源 Django 入门第 2 部分 Django 用户管理 Django REST 框架 API 指南 身份验证
  • 来自服务器的Javascript长整数不准确[重复]

    这个问题在这里已经有答案了 我有一个API我做了一个get请求获取数据 当我尝试保存时Id 我看到 Javascript 围绕着它的最后一位数字 它使我的程序崩溃了 I see 这个问题但我怎样才能保存each Id as string 我
  • python中的多进程会重新初始化全局变量吗?

    我有一个多处理程序 无法使用全局变量 我有一个这样开始的程序 from multiprocessing import Process Pool print Initializing someList 这意味着我有一些列表变量在调用我的 ma
  • 你认为 parseInt("08") 会返回什么? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript parseInt 八进制错误的解决方法 令人惊讶的是它又回来了0 为什么 获得正确结果的 正确 解决方案是什么 使用基数 var x parseInt 08 10 一些 Java
  • 如何在不删除分隔符的情况下分割Golang字符串?

    根据答案如何在Golang中分割字符串并将其分配给变量 拆分字符串会生成一个字符串数组 其中数组中的任何字符串中都不存在分隔符 有没有办法分割字符串 使分隔符位于给定字符串的最后一行 e x s strings split Potato S
  • 检测变量变化 C# [重复]

    这个问题在这里已经有答案了 我已经搜索了一段时间 但没有找到任何可以解决我的问题的信息 我有一个整数 private static int kills 0 我想要一个函数在该变量更改时运行 比如 现在是0 如果它变成2 我想要一个像这样的函
  • 权限错误 - 尝试使用 android facebook sdk 交朋友

    我正在尝试向我的 Android 应用程序添加一项功能 允许用户与标记为签到的其他人 签到 我的 checkins 方法工作没有问题 并且可以通过添加用户 ID 作为参数来标记某个方法 请参阅下面的代码 public void postLo
  • 如何绘制 3D 矢量场?

    The Data 我有一个向量场 除了 z 分量之外 所有分量均为 0 我只有该字段的一小部分的数据 我的目标是在 3D 图中显示这个切片 切片 import numpy as np import matplotlib pyplot as
  • 错误:任务“:app:processDebugResources”执行失败。 > java.io.IOException: 无法删除 android studio 中的文件夹“”

    我正在尝试使用 Android Studio 开发 Android 应用程序 所以我创建了一个 Android 应用程序并想发布它 每当我点击 构建项目 来获取apk文件时 我收到此错误 Error Execution failed for
  • 对象实例化后,JS 从构造函数运行函数

    是否有可能做到这一点 var hammer new Hammer create a new instance hammer nail really call Hammer prototoype hit object 我可以在原始对象上计算出
  • Swift NSMutableArray 添加一个数组

    问题是我第一次获取数据WebServices所以我已经显示了这些数据TableView然后用户向下滚动表视图 然后再次调用WebSevices并将此数据再次添加到数组中 但是当我尝试在 nsmutable 类型数组应用程序中再次添加数据时c
  • MySQL 日期差异

    我正在使用 MySQL 和 PHP 我想找出两个日期之间的差异 我有一个名为advertisers 其中有一个字段web start date 我想选择所有条目web start date距离当前日期不到 30 天 只需使用datediff
  • Oracle时间戳到sql server DateTime

    我有多个来自oracle数据库的语句 我需要在SQL Server中使用它们 insert into COMENZI NR COMANDA DATA MODALITATE ID CLIENT STARE COMANDA ID ANGAJAT
  • 将 YouTube 应用中的视频分享到我的 ios 应用

    当我在 iOS 上的 YouTube 应用程序中单击视频上的共享按钮时 是否可以让我的应用程序出现 我知道如何通过将我的文档类型添加到 Info plist 文件来将我的应用程序添加到打开选项中 但是当在 ios 上的 youtube 应用