无论如何都要看用户是否从锁定屏幕激活了通知中心?我在一个小部件中有一些私人信息,如果iPhone仍处于锁定状态,我想隐藏它。
答案 0 :(得分:3)
有点hacky,但这就是我的方式:
1)当您的应用首次启动时,在共享容器中创建一个虚拟文件,并将其NSFileProtectionKey属性设置为NSFileProtectionComplete。我们称之为ProtectionMonitor.dummy
2)当您的小部件启动时,尝试从该文件中获取数据。如果失败,则设备被锁定。
3)监控UIApplicationProtectedDataDidBecomeAvailable和 扩展程序中的UIApplicationProtectedDataWillBecomeUnavailable通知:用户可以在显示通知中心时使用触摸ID解锁设备。您甚至可以向用户建议触摸ID,以便在从锁定屏幕访问时从您的窗口小部件访问私人数据。