使用Swift在iOS中使用userDefaults检查应用设置

时间:2017-09-08 00:35:09

标签: ios swift nsuserdefaults

如何检查用户将应用设置设置为?我想我应该能够使用UserDefaults来做到这一点。我特别想检查用户是否允许该应用访问“联系人”。如果我知道钥匙,我知道如何获得设置。我希望能够访问UserDefaults为应用程序提供的所有设置。我正在使用Swift创建一个iOS应用程序。

2 个答案:

答案 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:

        }