在 iOS 8.3 之前,检查“允许完全访问”是否被授予键盘扩展的方法是通过容器应用中的以下代码:
- (BOOL)isOpenAccessGranted{
return [UIPasteboard generalPasteboard];
}
但是,作为对这个流行的 SO 答案的评论 thread指出,自 iOS 8.3 起,即使未授予完全访问权限,应用程序也可以从共享组容器中读取,因此上述代码始终返回 true。但是,只有在打开“允许完全访问”时才会授予写入权限。
我已经尝试列出所有基于 Apple 的 docs 的粘贴板。在 UIPasteboard
上,但它没有描述哪些是可访问的。非常感谢对此有任何见解。
最佳答案
这是我当前工作/部署的实现:
- (void)viewDidAppear:(BOOL)animated {
NSLog(@"keyboard has full access? %@", ([self validateKeyboardHasFullAccess] ? @"YES" : @"NO"));
}
- (BOOL)validateKeyboardHasFullAccess {
return !![UIPasteboard generalPasteboard];
}
关于ios - 如何检查 "Allow Full Access"自 iOS 8.3 *从容器应用程序*被授予,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497443/