如何解决如何以编程方式获取 iOS 上粘贴板内容的来源
在 iOS 14 上,当用户在另一个应用上复制/粘贴内容时,会显示带有粘贴板内容来源应用名称的通知:
是否可以通过编程方式获取此信息?
例如,如果用户在 Safari 上复制链接并将其粘贴到我的应用中,应用是否可以知道粘贴板内容来自 Safari?
我在 UIPasteboard 或 UIPasteConfiguration 文档中没有找到类似的内容。
解决方法
似乎没有 API 可以获取将项目放入 owner
的 pasteboard
。
粘贴板所有者和项目
最后将数据放入的对象 粘贴板被称为粘贴板所有者。每一条数据 放置在粘贴板上被视为粘贴板项目。这 粘贴板可以容纳单个或多个项目。应用程序可以放置或 检索尽可能多的项目。例如,假设用户选择 在视图中包含文本和图像。粘贴板让你 将文本和图像作为单独的项目复制到粘贴板。一个 从粘贴板读取多个项目的应用程序可以选择只取 它支持的那些项目(文本,但不是图像,对于 示例)。
addItems 方法没有(或者我可能找不到)任何名为 owner
的属性。
似乎没有我们可以为 UIPasteBoard
检索的方法或属性
以下是来自Apple Documentation
的注意从 iOS 14 开始,系统会在应用程序获取时通知用户 源自其他应用的一般粘贴板内容。
他们说这是系统生成的通知。因此,我认为我们无法以编程方式检索原始应用名称。
然而,他们提供了检测模式的方法,但不确定这是否有任何帮助。
使用 Detecting Patterns of Content in Pasteboard Items
中描述的方法确定粘贴板项目是否与各种
模式,例如网络搜索词、URL 或数字,不包含
通知用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。