UserDefaults 的所有 OS 键是什么,它们是什么意思?

What are all the OS keys of UserDefaults and what do they mean?

当我得到

UserDefaults.standard.dictionaryRepresentation()

从任何应用程序中,我都可以恢复许多键值列表(我的应用程序未保存),例如

AKLastCheckInAttemptDate
AKLastCheckInSuccessDate
com.apple.content-rating.AppRating
INNextFreshminRefreshDateKey
INNextHearbeatDate
和其他人

我在互联网和 Apple 文档中进行了搜索,但没有找到操作系统可以使用的任何可能键的列表,更不用说每个键的确切含义了。有谁知道任何这样的列表或知道每个键的含义吗?

密钥集不固定,或者通常没有记录。任何字符串都可以用作键。

UserDefaults.standard 是您应用中的全局对象。因此,您的应用程序中使用的任何框架都可以访问 UserDefaults.standard 并可以使用它想要的任何键来设置自己的条目。有些设置甚至在整个系统中共享,因此它们可以由其他应用程序或您的应用程序中未使用的框架设置。

应用程序或框架使用的键和值通常被认为是实现细节,因此 Apple 不希望您依赖其代码存储在 UserDefaults.standard 中的任何内容。

您需要阅读应用程序或框架的源代码才能了解它可能设置的键及其含义,但 Apple 发布的源代码很少。您也可以尝试对应用程序或框架进行逆向工程(即,反汇编它并根据机器指令弄清楚它的作用)但这通常非常困难。