MDM分发应用时钥匙串数据丢失

8
在我们的iPad应用程序中,用户需要输入注册详细信息。当用户输入详细信息后,我们将这些详细信息保存在设备的钥匙串中。
因此,下次用户启动该应用程序时,用户可以无需再次注册即可使用该应用程序。由于我们将其保存在钥匙串中,即使应用程序被删除后重新安装也能正常工作。
我们的一个客户使用他们的MaaS360 MDM向他们的用户分发此应用程序。但当用户通过MDM应用程序安装它并在第二天之后,钥匙串数据丢失,并要求用户再次进行设备注册。
最初,我们认为这是由于他们包含的某个策略所导致的。但没有运气。请问有人能告诉我这里发生了什么以及如何解决这个问题吗?

这取决于 MDM 服务器和/或配置文件的设置。MDM 服务器可以在设备加入期间清除托管应用程序数据,或者每次重新安装托管应用程序。 - Asperi
@Asperi,你能否提供更多细节,比如我们如何停止这个MDM服务器的清理策略? - GBD
@GBD 你的应用程序最低支持版本是 IOS 8.0 吗? - Anjula Serasinghe
你确定 MaaS360 在设备上安装后没有更改捆绑标识符(bundle ID)吗?也许你的数据仍然存在于设备上,但由于捆绑标识符已更改,钥匙串找不到它。 - Reza Dehnavi
我们遇到了类似的问题,奇怪的是应用程序沙盒中存储的数据在更新后仍然存在,但钥匙串中的值不会。在我们的情况下,这是使用来自钥匙串的密码加密的sqlite数据库。数据库文件在那里,但是钥匙串中缺少密码。 - Július Skrisa
1个回答

0

有两种可能的情况:

第一种情况:

这是一个 MaaS360 MDM 服务器配置问题。请查看这些 配置示例

第二种情况:

这不是 MaaS360 MDM 的问题,而是一个证书问题。很可能,当您/他/她在分发应用时,客户端会收到类似的错误:

"Could not find a valid private-key/certificate pair for this profile in your keychain."

苹果的文档指出以下关于这个问题:

该错误信息表明您的系统的钥匙串缺少用于签署应用程序的证书的公钥或私钥。当您尝试从与最初请求代码签名证书的系统不同的系统上签署和构建应用程序时,通常会发生这种情况。如果您的证书已过期或已被撤销,也可能会发生这种情况。确保您的应用程序的预配文件包含有效的代码签名证书,并且您的系统的钥匙串包含该证书,最初用于生成该证书的私钥以及WWDR中间证书。

请阅读代码签名说明,了解如何解决该问题。


不,我们在这两种情况下都没有问题。实际上,他们能够将分布式ipa安装到受管理的设备中,但几天后,他们会遇到密钥链数据丢失的问题,而不是在安装时出现。 - GBD
好的,我明白了。我会尝试找出原因。 - Andy Jazz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接