使用autonomousSingleAppModePermittedAppIDs和UIAccessibilityRequestGuidedAccessSession与Meraki一起作为MDM进入单一应用程序模式

时间:2014-03-26 20:35:42

标签: ios7 mdm guided-access

我使用Apple Configurator设置了少量设备作为监督设备。 但是,我无法使用UIAccessibilityRequestGuidedAccessSession API让应用成功进入单一应用模式。

我创建了一个配置文件,其中包含Meraki控制台中设置的限制,特别是我已经设置了#34;允许单一应用模式" Meraki控制台中的字段到我的应用程序包ID。

我假设Meraki中的此字段映射到autonomousSingleAppModePermittedAppIDs配置键。我已经添加了我的应用程序,这是一个安装在受监管设备上的IPA(未从应用程序商店安装)。

配置文件和应用程序已在iPad上成功安装,但对UIAccessibilityRequestGuidedAccessSession()的调用仍然失败。

电话本身非常简单:

NSLog(@"requesting guided access");
UIAccessibilityRequestGuidedAccessSession(YES, ^(BOOL didSucceed) {
    if (didSucceed) {
        NSLog(@"entered guided access");
        self.inGuidedSessionMode = YES;
        [[[UIAlertView alloc] initWithTitle:@"entered single access mode" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
    }
    else {
        NSLog(@"failed to enter guided access");
        [[[UIAlertView alloc] initWithTitle:@"Unable to enter single access mode" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
    }
});

设备日志显示以下条目

Mar 26 11:42:31 BayLeaf-Kiosk-4 backboardd[28] <Error>: HID: The 'Passive' connection 'xxxxxx' access to protected services is denied.
Mar 26 11:42:31 BayLeaf-Kiosk-4 xxxxxx[412] <Warning>: requesting guided access
Mar 26 11:42:31 BayLeaf-Kiosk-4 xxxxxx[412] <Warning>: viewDidLoad got called
Mar 26 11:42:31 BayLeaf-Kiosk-4 xxxxxx[412] <Warning>: applicationDidBecomeActive called
Mar 26 11:42:31 BayLeaf-Kiosk-4 xxxxxx[412] <Warning>: failed to enter guided access
Mar 26 11:42:31 BayLeaf-Kiosk-4 backboardd[28] <Error>: HID: The 'Rate Controlled' connection 'xxxxxx' access to protected services is denied.

有没有人能够成功让他们的应用进入导游访问? 我唯一能想到的是我的应用程序不在appstore中,或者指定的包ID不正确,但我找不到导出Meraki创建的.mobileconfig以验证它与我的应用程序匹配的方法

真的以我的智慧结束了这一点......我想也许Microsoft Surface(也有一个链接到帐户的应用模式)可能只是更容易做的事情。

非常感谢任何帮助。 谢谢!

PS:通过@zeiteisen链接this响应,这对我说到这一点非常有帮助。

更新:我非常确定捆绑ID是正确的,如果我使用我的应用名称/捆绑ID作为同一配置文件中单个应用模式设置的值,我的应用会立即进入单一应用模式(这不是我想要的,我希望它以编程方式进入/退出单个应用程序模式而不是被锁定。

UPDATE2:目前还不清楚是什么具体修改了问题,我只是从Meraki中删除了应用程序,删除了我的配置文件,将它们重新添加回来,一旦配置文件和应用程序被Meraki推送,它就运行了

2 个答案:

答案 0 :(得分:4)

此外 - 我已经尝试了这种试错法 - 如果您尝试在viewDidLoadviewWillAppear / viewDidAppear上锁定应用,那么&# 39;不能上班。我从您的日志中看到您正试图在viewDidLoad中锁定该应用。 尝试使用计时器,也许这就是你的问题。

[self performSelector:@selector(handleLockButton:) withObject:nil afterDelay:1];

当然,您需要将自己的套件ID放在应用程序的白名单中,这些应用程序可以锁定自己的导向访问权限。

快乐编码:)

Ž。

答案 1 :(得分:0)

确保您的配置文件看起来像这样,它应该可以正常工作:

<key>autonomousSingleAppModePermittedAppIDs</key>
<array>
    <string>org.mycompany.myapp</string>
</array>