【发布时间】:2020-01-10 06:06:22
【问题描述】:
在我们的 iPad 应用程序中,用户必须输入他的详细信息进行注册。在用户输入他的详细信息后,我们将这些详细信息保存在设备的钥匙串中。
因此,下次用户启动应用程序时,用户无需再次注册即可使用该应用程序。由于我们将其保存在钥匙串中,因此即使通过删除重新安装应用程序也可以正常工作。
我们的一位客户使用他们的 MaaS360 MDM 将此应用分发给他们的用户。但是当用户通过 MDM 应用程序安装它时,第二天之后,钥匙串数据丢失并要求用户重新进行设备注册。
最初,我们认为这是由于他们包含的一项政策。但没有运气。谁能告诉我这里发生了什么以及如何解决这个问题。
【问题讨论】:
-
它可能取决于 MDM 服务器和/或配置文件的配置。 MDM 服务器可以在设备选择加入期间清理托管应用数据,或者每次都重新安装托管应用。
-
@Asperi 您能否提供更多详细信息,例如我们如何停止此 MDM 服务器清理策略?
-
@GBD 你的应用程序支持的最低版本是 IOS 8.0 吗?
-
您确定捆绑 ID 没有被 MaaS360 更改,即使在设备上安装之后也是如此?也许您的数据仍然存在于设备上,但由于捆绑 ID 已更改,钥匙串无法找到它。
-
我们遇到了类似的问题,奇怪的是存储在应用程序沙箱中的数据在更新后会保留,但钥匙串值不会。在我们的例子中,它的 sqlite db 使用钥匙串中的密码加密。 db 文件存在,但钥匙串中缺少密码。
标签: ios objective-c keychain mdm ios12