如何检查用户将应用设置设置为?我想我应该能够使用UserDefaults来做到这一点。我特别想检查用户是否允许该应用访问“联系人”。如果我知道钥匙,我知道如何获得设置。我希望能够访问UserDefaults为应用程序提供的所有设置。我正在使用Swift创建一个iOS应用程序。
答案 0 :(得分:1)
您误解了UserDefaults类的功能。它不知道用户的设置。它用于您持久保存用户的设置(从您的应用程序内)。
至于如何访问这类信息。您必须使用每个API来检查权限。例如,访问GPS需要您使用LocationManager API并检查其中的权限。
要检查用户是否有权使用通讯录,您必须使用通讯录API(link here)
更具体地说this方法:
class func authorizationStatus(for entityType: CNEntityType) -> CNAuthorizationStatus
编辑:
您应该真正了解UserDefaults类的用途。 (link here)
答案 1 :(得分:0)
您无法使用UserDefaults检查用户是否允许该应用访问“通讯录”。请尝试以下代码。
let status = CNContactStore.authorizationStatus(for: CNEntityType.contacts)
switch (status) {
// Not determined or restricted (e.g.Parent control)
case CNAuthorizationStatus.notDetermined,CNAuthorizationStatus.restricted:
// Denied
case CNAuthorizationStatus.denied:
// Allowed
case CNAuthorizationStatus.authorized:
}