检查完全访问权限以获取自定义键盘扩展名

Kha*_*inn 1 objective-c ios8 ios-app-extension ios-app-group custom-keyboard

我需要检查自定义键盘扩展的完全访问权限。我找到了此链接。

如何检查iOS 8中是否启用了“允许完全访问”?

它说我们可以检查App组。我有一个名为“ group.TTT.TGroup”的应用程序组。它在主应用程序和自定义键盘之间共享访问权限。

然后,我这样检查。问题是我总是可以访问它(总是有array或error = null)。是因为我共享相同的数据吗?但是,如果我的应用程序使用另一个应用程序组,而扩展程序使用另一个应用程序组,则我绝对不能访问它。我可以知道怎么做吗?

NSFileManager* fileManager = [NSFileManager defaultManager];
NSString *path = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"group.TTT.TGroup"].path;
NSError *error;
NSArray *arr = [fileManager contentsOfDirectoryAtPath:path error:&error];

NSLog(@" arr is %@",arr);
if (arr == nil || !arr) //can check error also
    accessOn = NO;

else accessOn = YES;
Run Code Online (Sandbox Code Playgroud)

det*_*man 5

您可以尝试从共享中读取一个值NSUserDefaults-如果该值为null,则allowFullAccess已关闭

或者您可以尝试使用以下方法从共享文件系统中读取文件: containerURLForSecurityApplicationGroupIdentifier