我的客户在他们的私人设备中使用我的应用程序,这些设备不受任何 MDM 控制或外国公司的控制。我想确保我的应用程序只能在满足某些要求时执行,例如:
设备未越狱
设备密码已设置
最后,当应用程序安装在私人设备上时,我想确保没有数据泄露。
有必要安装移动熨斗之类的客户端吗?如果我可以安装 mdm-profile,这只能保证我的应用程序所需的条件。
我如何归档这个目标?
iOS MDM 管理将使您能够判断受管设备是否设置了密码;我认为没有其他方法(除了越狱之外)可以检测到这一点。
您自己的应用程序可以尝试进行越狱检测;Apple 的 MDM 本身无法进行越狱检测。
有人已经问过一个关于检测越狱设备的类似问题:Determining if an iPhone is Jail broken Programatically。关于检查是否设置了密码的问题也有一些答案,但我认为答案中的代码不适合您。不过,您可能想检查一下。
您需要注意,与这些设备妥协作斗争是一场持续的战斗。您编写的代码可能在确定越狱设备时无效。这意味着你不能保证你的应用程序不会在越狱设备上运行,除非你计划跟踪所有的技术,并发布新版本以跟上威胁。