【发布时间】:2015-11-14 04:41:32
【问题描述】:
我正在做一个键盘扩展项目。在应用程序代码的某些点,我需要测试用户是否已授予键盘扩展的“允许完全访问”权限。交易是我需要从应用程序端进行这些测试,并基于此让用户访问键盘设置或在未授予权限的情况下提醒他。
问题是这里提供的方法如下:
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。
有人知道从应用程序端对此进行测试的可靠方法吗?
【问题讨论】:
-
非常感谢任何高于 8.3 的 iOS 版本的解决方案。仅适用于某些版本的事件。
标签: ios swift keyboard ios-keyboard-extension