如何检查iOS 11中是否启用了“允许完全访问”?

时间:2018-09-05 12:07:08

标签: ios swift ios11 ios-extensions ios-keyboard-extension

如何检查iOS 11中是否启用了“允许完全访问”?

我尝试了多种方法,这些方法似乎无法在iOS 10或iOS 11中使用。

这是我尝试过的一个:

func hasFullAccess() -> Bool
{
    var hasFullAccess = false
    if #available(iOSApplicationExtension 10.0, *) {
        let pasty = UIPasteboard.general
        if pasty.hasURLs || pasty.hasColors || pasty.hasStrings || pasty.hasImages {
            hasFullAccess = true
        } else {
            pasty.string = "TEST"
            if pasty.hasStrings {
                hasFullAccess = true
                pasty.string = ""
            }
        }
    } else {
        // Fallback on earlier versions
        var clippy : UIPasteboard?
        clippy = UIPasteboard.general
        if clippy != nil {
            hasFullAccess = true
        }
    }
    return hasFullAccess
}

每次返回true时,我正在模拟器上而不是设备上运行它。

1 个答案:

答案 0 :(得分:-1)

首先,感觉您在检查iOS版本错误。通常看起来像这样的if #available(iOS 11.0, *),您通过的iOS版本是您使用的最新版本。在您的声明中,iOS 11甚至不存在,它将检查iOS 10及更低版本。

第二,您正在使用||,它是OR运算符。因此,如果其中任何一个陈述为真,则整个结果将返回为真。您需要&& AND运算符来检查所有内容是否匹配。