5

我正在向我现有的 iOS 应用程序添加一个小部件。上周 iOS10 发布并为 App Extensions 和 Today Widgets 添加了一些新功能。

Apple 提供了一些小部件,例如“活动小部件”,如果您使用 Apple Watch 在小部件视图中显示您的活动。此小部件仅在您的 iPhone 未解锁时有效。如果它被锁定,它会显示一条消息,如“解锁以显示活动数据”或类似的东西。如何检查用户的手机是否被锁定?

我想显示来自 HealthKit 的一些信息,只要 iPhone 被锁定,这是不可能的,因为在这种情况下,Apple 会限制对健康数据的访问。如果我解锁我的 iPhone,一切都会按预期工作。如果我在锁定屏幕上,它不会更新,因为访问受到限制。

Apple 对今天的小部件的文档非常好,但根据我的问题我找不到任何东西。

这是 iPhone 锁定时小部件的外观:

在此处输入图像描述

以下是iPhone解锁时小部件的外观:

在此处输入图像描述

4

1 回答 1

1

确定设备是否被锁定的最佳方法是实现UIApplicationDelegate,您可以覆盖方法applicationProtectedDataDidBecomeAvailableapplicationProtectedDataWillBecomeUnavailable

然后访问该UIApplication.shared.isProtectedDataAvailable属性,您可以检查设备是否被锁定。

于 2018-07-18T19:55:59.637 回答