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

2023-11-22

我使用 Apple Configurator 将少量设备设置为受监管。 但是,我无法使用以下命令让应用程序成功进入单一应用程序模式UIAccessibilityRequestGuidedAccessSession API.

我创建了一个配置文件,并在 Meraki 控制台中设置了限制,特别是我已将 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.

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

我对此真的束手无策。我想也许 Microsoft Surface(它也有一个链接到帐户的单一应用程序模式)可能是更容易做的事情。

将不胜感激任何帮助。 谢谢!

PS:链接this@zeiteisen 的回复对我做到这一点非常有帮助。

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

UPDATE2:目前尚不清楚是什么具体更改解决了该问题,我只是从 Meraki 删除了该应用程序,删除了我的配置文件,然后将它们重新添加回来,一旦 Meraki 推送了配置文件和应用程序,它就起作用了。


另外——我已经通过反复试验的方式了解到了这一点——如果你尝试锁定应用程序viewDidLoad or viewWillAppear/viewDidAppear,这是行不通的。我从您的日志中看到您正在尝试锁定该应用程序viewDidLoad。 尝试使用计时器,也许这就是你的问题。

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

当然,您需要将捆绑包 ID 列入可以将自身锁定为引导访问的应用程序白名单中。

快乐编码:)

Z.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用autonomousSingleAppModePermissionAppIDs和UIAccessibilityRequestGuidedAccessSession与Meraki一起作为MDM进入单一应用程序模式 的相关文章

  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • 从堆栈弹出后重新出现 UITableViewCellSeperator 的问题

    我有一个将动态数据加载到表视图中的应用程序 当只有一项时 因此只有一个单元格 为了确保 UITableViewCellSeperator 没有显示这一项 我使用以下代码 CGFloat tableView UITableView table
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • iOS 7 即席构建安装挂起并显示安装消息

    在构建应用程序时 我添加了有效的架构体系结构作为armv6 armv7 armvs7和体系结构作为标准体系结构 armv7和armv7s 还将构建活动架构仅切换为 否 即席安装挂起 并显示状态安装消息 随附屏幕截图 我已经正确添加了 UDI
  • 如何使用社交框架呈现 SKscene 中的 UIViewController?

    我正在制作一款类似 Flappy Bird 的游戏 如何从 SKScene 呈现 UIViewController 首先 我告诉我的环境 Mac OS X 10 9 Xcode 5 0 2 Sprite Kit framework soci
  • UIBarButtonItem 按下后更改字体,在外观代理中指定

    我设置了UIBarButtonItem标题字体通过appearanceAppDelegate 中的代理 UIBarButtonItem appearance setTitleTextAttributes NSDictionary dicti
  • 后台模式下的 AVSpeechSynthesizer

    我无法获取 iOS 7AVSpeechSynthesizer当我的 iOS 应用程序处于后台模式时工作 我添加了 应用程序播放音频 应用程序支持的后台模式的关键 但我仍然无法让它工作 我还研究了创建一个AVMutableCompositio
  • iOS 7 MapKit 崩溃:[VKRasterOverlayTileSource invalidateRect:level:] 中的 EXC_BAD_ACCESS

    我仅在 iOS 7 上遇到无法重现的崩溃 我大量使用 MKOverlayRenderer 在地图上绘制形状 iOS 6 上不会发生此崩溃 任何与此相关的想法都会有用 Exception Type EXC BAD ACCESS Code KE
  • 在 iOS 7 上需要具有非半透明栏的 WantsFullScreenLayout 行为

    我希望能够让我的视图覆盖整个屏幕 位于导航栏和工具栏后面 并将导航栏和工具栏的半透明属性设置为NO 我想要不透明的条 在 iOS 7 之前 这很容易通过设置来完成wantsFullScreenLayout是 然而 在 iOS 7 中 我找不
  • 我的 AppDelegate 中没有定义 ManagedObjectContext

    我正在尝试测试我的核心数据方案 但是 我似乎无法创建上下文 因为它说No visible interface for MyAppDelegate declares the selector managedObjectContext 在在线教
  • 通过 UIPopoverController 关闭调光

    在 iOS7 中 弹出窗口会导致屏幕的其余部分变暗 按照苹果文档 https developer apple com library ios documentation uikit reference UIPopoverController
  • iOS7 后台同步

    我们必须开发一个应用程序 无论该应用程序是在前台还是在后台 都支持在某个时间间隔进行数据同步操作 我想知道在iOS7中 当应用程序在后台运行时 是否可以同步数据 即调用网络服务 我们可以在应用程序处于后台时访问 SQLite 数据库文件 我
  • iOS 中的胖二进制文件

    是否有可能为 iOS 构建 32 位和 64 位 胖 二进制文件 我的理解是 这即将到来 但我在 Xcode 的最新更新中看不到明显的方法来做到这一点 我希望我的应用程序在 5S 上以 64 位模式运行 在 5 及以下版本上以 32 位模式
  • iOS 7 Core 蓝牙外设在后台运行

    我想要的是我的 iOS 设备始终宣传蓝牙 LE 服务 即使应用程序未运行 这样我就可以让另一台 iOS 设备扫描并找到它 我在这里遵循了苹果的后台说明 https developer apple com library ios docume
  • 在 iOS 6 中隐藏 TabBar

    我想隐藏我的 TabBariOS 6 当我编写下面给出的代码时 它可以在iOS 7但它显示黑线iOS 6 self tabBarController tabBar hidden YES 这是快照iOS 6 尝试使用下面的代码也许这会帮助你
  • NSMutableRLEArray objectAtIndex: effectiveRange:: 越界

    我尝试将属性分配给最后 3 个字符newClock字符串 即 3 33 23 但是我在构建时遇到错误NSRange NSMutableAttributedString mas NSMutableAttributedString alloc
  • 在 iOS 7 中 viewForHeaderInSection 部分是从 1 开始而不是从 0 开始

    我正在处理UITableView在我的项目中 这个项目是在 Xcode 4 5 中创建的 现在我正在使用 Xcode 5 所以我的问题是何时在 iOS 6 中运行我的项目 viewForHeaderInSection方法部分从 0 开始没问
  • 在 SKScene 上运行 SKTransition 是否会破坏原始 SKScene?

    在 SKScene 上运行 SKTransition 是否会破坏原始 SKScene 例如 SKTransition reveal SKTransition revealWithDirection SKTransitionDirection
  • 更新到 1.11.0 后,自动完成功能要求您在 iOS 中单击两次

    使用 jQuery 2 1 0 和 jQuery ui 1 11 0 在 iOS 7 iPhone 和 iPad Mini 中测试 适用于 Android 和常规浏览器 问题 我们最近从 jQuery UI 1 10 0 升级到 1 11
  • ios7 故事板项目不会移动

    我试图在我的视图控制器布局中移动故事板项目 但是当在模拟器中运行时 它们不会移动 它们似乎粘在我放置它们的上方的橙色虚线上 那些橙色线是什么 为什么我无法移动我的物品 Here s what it looks like in the sim

随机推荐

  • 如何更改 Angular2 TypeScript 项目中的 body 类

    我的登录页面和应用程序中的其他页面有不同的类 因此用户登录后我需要更改 body 元素的类 这是我如何努力实现这一目标的 索引 html
  • 为实体框架创建动态表达式

    我创建了一个通用表达式生成器 它根据条件集合构建谓词 我将谓词传递给存储库中的通用方法 我认为表达式生成器工作正常并创建所需的谓词 尽管实体框架生成的 SQL 脚本不符合我的预期 我读过很多关于动态查询或 LinqKit 和表达式生成器的问
  • 如何检测我的用户正在使用哪个 iOS 设备?

    我正在寻找一种方法来检测我的应用程序正在运行的设备 我对软件版本不感兴趣 我搜索了很多问题 但没有一个 令人惊讶地 满足我的需求 原因如下 解决方案一 NSString deviceType UIDevice currentDevice m
  • 用于网络表单的打字稿

    Web 表单支持 Typescript 吗 我有一个现有的 asp net 4 5 Web 表单项目 其中打字稿似乎不起作用 我无法创建新文件 但即使我将现有文件重命名为 ts 它似乎也不起作用 没有构建 没有智能感知 什么都没有 找到了我
  • Pygame 导致 FPS 低的原因。如何提高性能?

    我正在使用 pygame 处理一些射弹 发现即使只有 200 行代码 游戏的运行速度也低于 50 fps 除了运行循环之外 没有大循环 而且我的电脑相当新 那么 这是因为 pygame 使用 SDL 吗 如果是这样 使用像 OpenGL 这
  • 如何设置savon默认超时值

    我正在使用 savon 进行一些 api 调用 但它需要很长时间才能响应 因为我收到超时错误 所以有什么方法可以更改超时的默认值 我正在使用 savon 0 7 9 ruby 1 8 7 和rails v 2 3 2 Savon 使用 ge
  • 基类和继承中的静态方法中的静态变量

    我有这些 C 类 class Base protected static int method static int x 0 return x class A public Base class B public Base 会不会x静态变量
  • 当数据源为 Linq 时访问 ItemDataBound 事件中的列

    我使用以下代码设置数据源 protected void Page Load object sender EventArgs e var vacancies from v in db Vacancies join c in db Custom
  • 避免传递数据框的最佳方法是什么?

    我有12个data frame一起工作 它们是相似的 我必须对每一个进行相同的处理 所以我编写了一个函数 它需要一个data frame 处理它 然后返回一个data frame 这有效 但我担心我正在绕过一个非常大的结构 我可能正在制作临
  • 如何使用正则表达式分割字符串

    我想将一个字符串拆分为列表或数组 Input green yellow green white orange blue black 分割字符是逗号 但它必须忽略引号内的逗号 输出应该是 green 黄绿色 white orange 蓝黑 T
  • mvc.net验证是否支持ValidationGroup的概念

    来自 asp net 的背景 在向页面添加验证时 我非常欣赏 validationGroup 的概念 我一直在 mvc net 中寻找相应的概念 但运气不佳 这个概念在 mvc net 中可用吗 如果没有 我还有什么选择 不幸的是 它没有附
  • 有人有渲染 HTML 的 diff 算法吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我有兴趣看到一个好的 diff 算法 可能是用 Javascript 编写的 用于渲染两个 HTML 页面的并排差异 这个想法是 diff 将显示差
  • 生命周期和对包含引用的对象的引用

    假设我有一个包含引用的结构 以及另一个包含对该结构的引用的结构 如下所示 struct Image lt a gt pixel data a mut Vec
  • 运行 Android 测试会产生“未知的命令行选项‘--tests’”

    我需要使用命令行在快速文件中的应用程序的特定包中使用 Gradle 运行测试 我正在使用这个命令 sh gradlew test tests com package exemple 但它给了我这个错误 从命令行配置任务 app test 时
  • 关闭 ContentProvider 中的数据库

    本周我学习了有关 ContentProvider 的所有内容 并使用 SQLiteOpenHelper 类来管理提供程序内部数据库的创建和升级 具体来说 我一直在阅读 sdk 示例目录中的 NotePad 示例 现在 我可以看到 SQLit
  • 非常快的文本文件处理(C++)

    我编写了一个在 GPU 上处理数据的应用程序 代码运行良好 但我遇到的问题是输入文件的读取部分 3GB 文本 是我的应用程序的瓶颈 从HDD读取速度快 但逐行处理速度慢 我使用 getline 读取一行并将第 1 行复制到向量 将第 2 行
  • cmd 脚本中的日期算术

    我需要编写一个脚本将文件名从 aDate txt 更改为 bDate txt 其中 aDate 是当前系统日期yyyymmdd格式和 bDate 是当前系统日期 1 inyyyymmdd format 我目前有 set yy date 6
  • Firestore 对象数据类型规则

    数据库有一个集合 Collection 集合内的每个文档都有一个对象 members 其中包含有权访问该文档的用户的 uid Collection gt document gt members BZntnJO2PVS8OZ9wctwHiyx
  • C# - 用数据表填充组合框

    我习惯于使用 Java 那里有大量的示例 由于各种原因 我不得不切换到 C 并尝试在 SharpDevelop 中执行以下操作 Form has a menu containing a combobox added via SharpDev
  • 使用autonomousSingleAppModePermissionAppIDs和UIAccessibilityRequestGuidedAccessSession与Meraki一起作为MDM进入单一应用程序模式

    我使用 Apple Configurator 将少量设备设置为受监管 但是 我无法使用以下命令让应用程序成功进入单一应用程序模式UIAccessibilityRequestGuidedAccessSession API 我创建了一个配置文件