如何检查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
并且我在不在模拟器上的设备上运行它。
首先,感觉你检查的iOS版本是错误的。它通常看起来像这样if #available(iOS 11.0, *)
您传递的iOS版本是您使用的最新版本。在您的声明中,iOS 11 甚至不存在,它会检查 iOS 10 及更低版本。
其次,您使用的是 OR 运算符||
。因此,如果这些陈述中的任何一个是正确的,那么整个事情就会返回为真。您需要&&
AND 运算符来检查所有内容是否匹配。