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

时间:2018-11-23 15:14:02

标签: ios swift provisioning-profile provisioning ios-provisioning

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

使用this link,我可以获取嵌入式临时配置文件(oldPP)的有效期

我也尝试过

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

但这仅返回我的主应用程序包中的(oldPP)的网址。 (newPP)在哪里?我只是想不通。

我的最终目标是在打开应用程序后通过消息通知用户最新的配置文件即将到期。为此,我需要阅读(oldPP)和(newPP)上的到期日期。

1 个答案:

答案 0 :(得分:0)

由于iOS沙箱操作,您将无法访问设备上安装的其他配置文件。您只会得到oldPP,因为那是应用程序捆绑包中唯一的.mobileprovision文件。我认为Apple绝对不会允许应用程序在设备上查询PP,因为这可用于获取有关设备上安装的其他应用程序的信息。

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

如果您使用MDM,而不是将新的配置文件推送到设备,则现在可以将新的ipa和新的Embedded.mobileprovision文件推送到设备。如果您要求他们更新其配置文件,则为他们提供指向.ipa文件的链接可能很简单。

不幸的是,Apple不太可能允许开发人员查询iOS设备上安装的其他PP。