我正在做一个键盘扩展项目。在应用程序代码的某些点,我需要测试用户是否已授予键盘扩展的“允许完全访问”权限。交易是我需要从应用程序端进行这些测试,并基于此让用户访问键盘设置或在未授予权限的情况下提醒他。
问题是这里提供的方法如下:
func isOpenAccessGranted() -> Bool {
return UIPasteboard.generalPasteboard().isKindOfClass(UIPasteboard)
}
或者:
func isOpenAccessGranted() -> Bool {
let fm = NSFileManager.defaultManager()
let containerPath = fm.containerURLForSecurityApplicationGroupIdentifier(
"group.com.example")?.path
var error: NSError?
fm.contentsOfDirectoryAtPath(containerPath!, error: &error)
if (error != nil) {
NSLog("Full Access: Off")
return false
}
NSLog("Full Access: On");
return true
}
仅从键盘端工作,因为键盘是唯一受此权限影响的键盘。从包含应用程序端,这两个方法总是返回 true。
有人知道从应用程序端测试这个的可靠方法吗?