• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 通知中心触发 UIPasteboard 从 Safari 更改?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:39:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我已注册如下通知:

NotificationCenter.default.addObserver(self,
     selector: #selector(functionName),
     name: NSNotification.Name.UIPasteboardChanged,
     object: nil);

调用函数:

func functionName(){
    print("changed");
}

当用户在应用内复制和粘贴时会触发通知,但是当用户从其他应用(如 Safari)复制时不会触发。

这是我尝试触发通知的用例: 一个用户在 iPad 上同时拥有我的应用程序和 Safari。用户从 Safari 复制某些内容,我的应用会自动检测到用户复制了某些内容并处理粘贴板。

3 个相关问题:

  1. 我读到 CFNotificationCenter 是更适合处理这些请求的通知中心,在这个用例中是否正确?

  2. 这是否违反了“沙盒”,这就是为什么通知仅在应用程序本地进行的更改时触发的原因?

  3. 是否有一种变通方法让 UIPasteboardChanged 上的函数按我的意愿触发?



Best Answer-推荐答案


如果您的APP进入后台,并且没有后台事件,您的APP将无法收到通知。您可以在收到通知时保留用户的副本和粘贴。然后你的应用程序进入前台,你可以比较新的副本和粘贴。

关于ios - 通知中心触发 UIPasteboard 从 Safari 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43938931/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap