在运行时列出设备上的所有临时配置文件,并获取其到期日期



我的企业应用程序正在分发一个3个月后到期的资源调配配置文件(oldPP(。我创建了一个新的配置文件(newPP(,并将其放置在已经安装了我的应用程序的设备上。现在有两个配置文件,当我用App Configurator 2工具连接设备时,我可以看到它们。

使用这个链接,我可以获得嵌入的临时配置文件(oldPP(的有效期

我也试过

let urls = Bundle.main.urls(forResourcesWithExtension: "mobileprovision", subdirectory: nil)

但这只返回(oldPP(的url,它在我的主应用程序包中。(newPP(位于哪里?我就是想不通。

我的最终目标是在打开应用程序后,如果最新的配置文件即将过期,则向用户发送消息。为此,我需要阅读(旧PP(和(新PP(的有效期。

由于iOS沙盒,您将无法访问设备上安装的其他配置文件。您将只得到oldPP,因为它是应用程序捆绑包中唯一的.mobileprovision文件。我不相信苹果会让应用程序在设备上查询PP,因为这可能被用来获取设备上安装的其他应用程序的信息。

我建议在每次PP到期时简单地重新打包您的企业应用程序,以便embedded.mobileprovision文件始终是最新的。然后你可以使用通知功能(我有一种方法可以在这里获得pp到期和证书到期(来通知用户他们需要安装新版本的应用程序。即使没有代码更改,ipa也至少会有bew-embedded.mobileprovision文件。

如果您使用MDM,而不是将新的配置文件推送到设备,您现在可以将带有新的embedded.mobileprovision文件的新ipa推送到设备。如果您要求他们更新配置文件,那么为他们提供一个.ipa文件的链接可能同样简单。

不幸的是,苹果不太可能允许开发者查询安装在iOS设备上的其他PP。

最新更新