将企业iOS应用程序从一个MAM移动到另一个MAM-不卸载?

将企业iOS应用程序从一个MAM移动到另一个MAM-不卸载?,ios,mdm,Ios,Mdm,我们有一个iOS应用程序,最初是通过Testflight向用户推出的 现在我们有了自己的Airwatch环境,我们希望将用户转移到其他地方 如果用户已经通过试飞安装了应用程序,则单击AW应用程序商店中的“安装/更新”按钮不会执行任何操作。用户必须首先卸载testflight安装的版本。不幸的是,这会删除他们用应用程序创建的数据 卸载过程中是否存在任何问题 注意,有人告诉我,应用程序的两个实例都使用我们的开发者证书进行了签名 谢谢大家! 沙箱是操作系统中极其重要的一项技术,其设计目的是专门防止您通

我们有一个iOS应用程序,最初是通过Testflight向用户推出的

现在我们有了自己的Airwatch环境,我们希望将用户转移到其他地方

如果用户已经通过试飞安装了应用程序,则单击AW应用程序商店中的“安装/更新”按钮不会执行任何操作。用户必须首先卸载testflight安装的版本。不幸的是,这会删除他们用应用程序创建的数据

卸载过程中是否存在任何问题

注意,有人告诉我,应用程序的两个实例都使用我们的开发者证书进行了签名


谢谢大家!

沙箱是操作系统中极其重要的一项技术,其设计目的是专门防止您通过操作系统直接从一个应用程序访问另一个应用程序的数据

每个应用程序都有自己的沙箱,而您的数据就卡在其中。该应用程序具有不同于您的开发者证书的唯一标识符。您的证书用于对该应用程序进行签名,但您创建的每个应用程序都是唯一的(否则,默认情况下,每个开发者的姓名只能有一个应用程序)

如果您真的想从TestFlight安装的应用程序中移动存储的数据库,您必须使用内置功能将其数据上传到某个远程服务器,然后在AW中编写新应用程序以获取存储的数据并使用它


是的,这可能是一项听起来很重要的任务,但服务器端的一些巧妙工作可能会让整个过程无缝且不引人注目。当然,如果你的应用程序现在只在本地存储数据,那么你的用户数据总是会卡在该设备上。当他们删除/重新安装应用程序时,它将始终消失,并且不会在设备之间传输。你可能想实现服务器端持久化,不管这些缺点是否与你想要的用户体验相反。Ryan,我理解这一点(至少是基本的),但这是同一个应用程序。我所说的“相同”是指由同一个人从同一个来源汇编而成。那么UID不是一样吗?否则就永远无法更新应用程序,对吗?很明显,MAM添加了一些东西。Testflight让您在测试设备上安装了他们的配置文件,因此,即使您的证书仍然参与了签名过程,操作系统也会为具有Testflight配置文件的部分和不具有该配置文件的部分提供唯一的应用程序id,即使它们都共享相同的底层二进制文件。使用Testflight安装应用程序的一个版本可以很好地证明这一点。现在用AW安装一个。您的设备上有两个应用程序还是只有一个?只有这样,如果操作系统认为它们是独立的应用程序(基于它们的唯一id),那么当应用程序从testflight安装到那里时,应用程序不会通过AW安装/重新安装/更新。你按了按钮,但什么也没发生。没有错误消息,什么也没有。