【问题标题】:iOS Today Widget Extension: detect if opened in lock screeniOS Today 小部件扩展:检测是否在锁定屏幕中打开
【发布时间】:2014-12-28 23:21:30
【问题描述】:

有没有办法查看用户是否从锁定屏幕激活了通知中心?如果 iPhone 仍处于锁定状态,我想在小部件中隐藏一些私人信息。

【问题讨论】:

  • 正是需要此信息。有人吗?

标签: ios iphone widget ios8-today-widget


【解决方案1】:

这有点老套,但我是这样做的:

1) 当您的应用首次启动时,在您的共享容器中创建一个虚拟文件并将其 NSFileProtectionKey 属性设置为 NSFileProtectionComplete。我们称之为 ProtectionMonitor.dummy

2) 当您的小部件启动时,尝试从文件中获取数据。如果失败,则设备被锁定。

3) 监控 UIApplicationProtectedDataDidBecomeAvailable 和 扩展中的 UIApplicationProtectedDataWillBecomeUnavailable 通知:用户可以在显示通知中心时使用触摸 ID 解锁设备。您甚至可以向您的用户建议 Touch ID,以便在从锁定屏幕访问时从您的小部件访问私人数据。

【讨论】:

  • 有趣。我会试一试并报告。
  • 差不多了,但是如果我锁屏大约 2 秒钟然后立即按下电源按钮,屏幕被锁定但仍然可以访问加密数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
相关资源
最近更新 更多