在没有 "Untrusted Developer" 警告的情况下手动安装 iOS 企业应用程序(内部分发)

Manually installing an iOS enterprise app without "Untrusted Developer" warning (inhouse distribution)

众所周知,installing an inhouse signed iOS enterprise app manually on a device,会提示用户在首次使用应用前信任企业开发者。

不过,我目前正在为 iOS 分发方案寻找更好的选择,其中 Public App Store、MDM 或将设备连接到管理机器都不是选项。

This documentation about the installation flow of appaloosa's enterprise app store 似乎表明有一个流程,用户首先手动安装 iOS 配置文件,然后像往常一样在第二步安装 IPA。文档中的屏幕截图未显示任何不受信任的开发人员警告。我尝试使用在 Apple Configurator 2 中创建的 iOS 配置文件重现流程,并使用我之后尝试打开的应用程序的内部分发证书进行签名。不幸的是,它仍然会为我发出警告,所以要么不可能,要么我错过了什么。

问题:是否可以通过预先无线方式手动安装 iOS 配置文件(例如包括内部分发证书)来绕过不受信任的开发人员警告?如果是,配置文件需要如何设置?

如果这是可能的,它可以通过干净的两步安装流程而不是带有可疑警告的 1 步安装来改善企业用户的用户体验:

Known user flow           User flow in question

1) Go to website          1) Go to website
2) Download app           2) Download profile
3) Open --> warning       3) Accept profile install
4) Trust in settings      4) Download app
5) Open --> success       5) Open --> success

--> works, bad UX         --> is this possible???

不,没有记录在案的方法使之成为可能。

您可以通过请求您提议的两步流程的功能来提倡更简洁的用户体验。

Apple 的这一 "trust the developer" 行动确实让内部应用程序的流程变得有点棘手,并且经常让非技术用户感到困惑。 iOS 显示的错误消息真的没有帮助(可以在右侧屏幕上提供一个按钮来打开设置应用程序!)并且设置中的部分不是最容易找到的,也没有解释清楚它是什么for/how 有效/...

您描述的 "other" 过程以某种方式存在,但比这更高级:有一种方法可以自动信任开发人员,并且它带有设备管理功能。它实际上不仅是安装应用程序,而且还将设备注册到enterprise/MDM(移动设备管理)系统中。这使得设备受到管理,因此可能会为内部部署提供一些已经信任的开发人员,以及托管应用程序。 要找到更多相关信息,您应该寻找 "Device enrollment challenge" 或 "MDM enrolment for iOS"; Apple 为其提供了一些广泛的文档,并且一些服务实现了它。

请注意,在大型企业 IT 部署环境、设备群中,这是一个非常好的工具......但绝对不适合较少的 "internal" 应用程序部署(例如:如果你是一个机构并希望向您的客户提供应用程序,...这在某种程度上可能会违反 Apple Enterprise 协议,但这是另一个问题)。注册过程为提供者提供了对设备的非常高级别的控制,因此在执行此过程时必须有非常高的信任度。

不过,一旦注册,您就可以安装应用程序而无需执行此额外步骤。

似乎只有两种方法可以执行您描述的操作:

  1. 你实际写了什么(手动信任开发者)
  2. Appaloosa 所做的,所以实际使用 MDM 解决方案

在第二种情况下,接受配置文件(在他们的文档中您会看到 "Includes enrolment challenge")实际上意味着他们将远程管理您的设备。虽然这对公司设备来说很有意义,但我不会非常渴望在我的个人设备上这样做。

如果您想探索 MDM 选项(至少从用户体验的角度来看,以获得外观和感觉),有多种服务提供免费试用。这将允许验证 MDM 解决方案在您的特定情况下是否有效。

他们 (appaloosa) 没有显示的是,接受此配置文件需要多次确认(包括关于远程设备管理的警报),这不止一次地向用户发出警报。此外,每次安装该应用程序(对于不受监督的 phone)都会触发另一个您必须同意的警报。

因此,仅就用户体验而言,我认为这是一项巨大的开销,但收益为零 none :)