iOS 托管应用配置和设备注册

iOS Managed App Config and device enrollment

我正在我的应用程序中启用托管应用程序配置,以便如果设备已注册到 MDM 程序,它可以读取托管配置(根据 AppConfig.org 标准)并相应地运行.但是,我的应用程序是通过分发的。苹果商店而不是通过。 MDM。对于未注册 MDM 的设备,存在回退行为。

我查看了 Air Watch、Mobile Iron 的文档,了解有关托管应用程序配置设置的信息。另外,检查了 AppConfig.org 但找不到我的问题的答案。

我对 AppConfig 和 MDM 的理解是,MDM 可以安全地将 MDM 服务器中设置的配置字典传送到受管设备的 NSUserDefaults,应用程序可以从中读取。我不确定在这之后 NSUserDefaults 中的托管配置设置会发生什么,如果 (a) 设备从 MDM 中取消注册 (b) MDM un-installs/removes 应用程序 (c) 用户从 App Store 更新应用程序(假设 MDM 允许) (d) 用户暂时 disconnects/logs 从 MDM 客户端退出。

一旦 MDM 写入 NSUserDefaults 配置可供应用程序使用,MDM 如何控制上述场景中传递的设置?

为了使托管应用程序配置正常工作,应用程序必须由 MDM(AppConfig.org 中的 EMM 进行管理)- 请参阅 "App configuration" 下的第 3 步 https://appconfig.org/ios/

如果用户在注册 MDM 之前已经安装了该应用程序,则系统将提示他们允许该应用程序由 MDM 管理。

针对您的具体问题:

a) 如果用户取消注册,则推荐的方法是从设备中删除托管应用及其数据。这将删除托管配置。如果没有为 MDM 上的应用程序配置此选项,则托管配置可能会保留,因为 MDM 需要明确删除它。确切的行为将取决于 MDM。

b) 如果 MDM 或用户删除应用程序,则所有数据(包括托管配置)都将被删除。

c) 应用更新不会影响托管配置。配置不是捆绑包的一部分。仅更新捆绑包;应用程序数据在更新过程中保持不变。如果您的新版本支持额外的托管配置密钥,则 MDM 管理员可能需要更新他们的托管配置并将更新推送到设备。您的代码在处理配置键时应该灵活;如果管理员没有配置它们,有些可能最初不存在。

d) 这不是一个选项;设备要么受管理,要么不受管理。如果删除了管理配置文件,则为情况 a.