在 iPad 中检查 App 的配置文件

nOO*_*iOS 3 iphone objective-c ipad ios provisioning-profile

我们正在测试一个场景,即使我们安装了使用旧配置文件签名的应用程序,iPad 似乎也一直采用新的配置文件。

我们有一个本月底到期的配置文件。所以,我们更新了它,它是由 MDM 推动的。我们想在此之前对其进行测试,因此我们尝试复制该场景。我们生成了一个签名到旧 PP 的 iPa,通过 MDM 推送并下载了它。现在,如果我们将 iPad 的日期更改为未来日期,它应该会崩溃,因为 PP 无效。但是,它仍然有效。

我们尝试通过 crashlytics 使用新的更新 PP 安装该应用程序,它按我们的预期工作。现在,我们尝试通过 MDM 对其进行测试,即使您将其更改为未来日期,它也能正常工作。

我们怀疑 iPad 存储了我们应用程序的新 PP,它取代了旧的 PP,导致应用程序一直运行。

我的问题是,我们可以检查 iPad 上安装的特定应用程序的 PP 吗?如果我们删除应用程序,它不会从 iPad 上删除吗?我们可以从 iPad 手动删除 PP 吗?如果是这样,如何?

任何帮助深表感谢。

wot*_*tle 5

为了详细说明@battlemonstr 的答案,在打包时(在embedded.mobileprovision 文件中),配置文件与.ipa 捆绑在一起,以便iOS 设备可以在安装应用程序时在设备上安装PP。从 .ipa 安装后,嵌入式 PP 无关紧要 - 它只是安装在设备上的另一个 PP。当您第一次尝试运行该应用程序时,iOS 将检查设备上是否存在允许该应用程序运行的有效 PP。它可以是与应用程序一起安装的那个,但没有理由必须如此。换句话说,安装的应用程序没有任何要求它使用 .ipa 文件中捆绑的 PP 的东西。

当您删除该应用程序时,它不会触及设备上安装的 PP。因此,如果您之前安装了该应用程序的某个版本,并且它的嵌入式 PP 直到年底才过期,则使用已经过期的 PP 安装该应用程序的新版本不会阻止该应用程序运行,因为设备有一个对应用程序有效的 PP,该 PP 将在年底前到期。

您可以在 Xcode 设备窗口中查看设备上的配置文件。右键单击设备并选择“显示配置文件...” 请注意,iOS 会不时尝试清理已过期的旧配置文件,因此一些旧的配置文件可能会消失。