Как проверить, что «Разрешить полный доступ» включен в iOS 11? - PullRequest
0 голосов
/ 05 сентября 2018

Как проверить, что «Разрешить полный доступ» включен в 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 голосов
/ 05 сентября 2018

Прежде всего, вы чувствуете, что вы проверяете версию iOS неправильно. Обычно это выглядит так: if #available(iOS 11.0, *), где вы используете последнюю версию iOS, которую вы используете. В вашем объявлении iOS 11 даже нет, он проверяет iOS 10 и ниже.

Во-вторых, вы используете ||, который является оператором ИЛИ. Так что, если какое-либо из этих утверждений является правдой, все это вернет истину. Вам нужен && оператор AND, чтобы проверить, все ли совпадает.

...