2017-05-03 12 views
0

我们有一个企业应用程序。新用户在控制台中看到这一点:无法为新用户下载应用程序,现有用户可以重新安装

May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.T5yQJd/extracted/Payload/myapp.app : 0xe8008015 (A valid provisioning profile for this executable was not found.) May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 -[MIInstaller performInstallationWithError:]: Verification stage failed

但谁已经拥有的应用程序仍然可以安装应用的用户(重新安装)。确认通过运行应用重新安装,导航到不同的屏幕,然后切换到浏览器重新安装。重新安装(在主屏幕上观看进度指示器)后,重新打开应用程序将在入口点开始。

如果这是证书&供应相关为我怀疑,为什么现有用户可以重新下载它?

回答

0

嵌入在.ipa中的供应配置文件很可能缺失,无效,损坏或过期。解压缩企业.ipa并打开Payload/myapp.app/embedded.mobileprovision文件(它将是二进制文件,但包含大多数纯文本XML,大多数文本编辑器会让您看到)。检查与应用程序包ID和其他字段(包括ExpirationDate是否有效)匹配的应用程序标识符。

应用程序安装在现有工作应用程序上的原因是,前一个有效的预配置配置文件很可能与以前的.ipa保持一致。这对于新版本的应用程序(特别是基于应用程序包ID)足以安装和运行。要检查这一点,您始终可以使用Apple Configurator 2并选择设备以查看已安装的配置文件。在工作设备上,您可以删除配置文件并再次尝试安装,我怀疑这会失败。

+0

从.ipa下载的供应配置文件expiratio n直到2017年12月 – quantumpotato

+0

应用程序标识符看起来是正确的并且与前缀匹配(前缀是com.company.app的tbefore *的字母数字) – quantumpotato

+0

因此下一个要查看的地方是检查使用的签名和证书 - 是否有可能自上次构建或配置文件生成以来已更改或已被撤销?有用的命令可以帮助您查看包括“security cms -D -i embedded.mobileprovision”以清楚地解析配置文件和“codesign -dvvv myapp.app”(从解压缩的Payload目录中)以验证代码签名并显示信任关系。 – TendrilSix

相关问题