测试版应用在一段时间后过期。但是在对ipa文件进行了一些调查之后,捆绑包中嵌入的证书和移动配置文件都没有过期。

Apple如何执行beta应用程序过期以及如何确定测试过期时间?

#1 楼

我假设您正在谈论通过TestFlight分发的应用程序的Beta版。

虽然用于签署应用程序的iOS分发配置文件可能未过期,但设备上使用的配置文件受运行时限制内核检查,可验证应用程序在60天后过期。请参阅以下示例控制台日志:

Mar  9 08:34:48 ***-iPhone amfid[***] <Error>:  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Mar  9 08:34:48 ***-iPhone amfid[***] <Error>: /private/var/mobile/Containers/Bundle/Application/B4BF7C1D-2DF4-4B8D-943B-57BABD30****/***.app/*** not valid: 0xe8008015: A valid provisioning profile for this executable was not found.
Mar  9 08:34:48 ***-iPhone kernel[0] <Notice>: AMFI: hook..execve() killing pid 10282: no code signature
Mar  9 08:34:48 ***-iPhone kernel[0] <Notice>: Sandbox: hook..execve() killing pid 10282: application requires container but none set
Mar  9 08:34:48 ***-iPhone com.apple.xpc.launchd[1] (UIKitApplication:com.***.***[0x4711][10282]) <Notice>: Service exited due to signal: Killed: 9


内核在运行时检查过程中终止了该进程,以查看用于运行可执行文件的配置文件是否已过期。供应配置文件的到期与Beta分布式应用程序的到期不同。以前,用户可以回退设备时间来绕过此检查,但是我认为这已在iOS 10中修复。

有效时间由Apple设置。在TestFlight的初期,这是30天,但我相信现在已经延长到60天。

评论


有效期是否已嵌入配置文件中,可以使用某些工具将其打印出来吗?感谢您的快速答复并纠正我的语法错误。

–卡尔
17 Mar 17 '17 3:32



@Karl不用担心!我不确定实际上是否需要做更多测试,然后再与您联系。也许这里的其他人对此有更多了解并可以回答。

–日航
17年3月17日在3:55