【问题标题】:Unable to download app for new users, existing users can reinstall新用户无法下载应用,现有用户可以重新安装
【发布时间】:2017-10-01 15:37:32
【问题描述】:

我们有一个企业应用程序。新用户在他们的控制台中得到这个:

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

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

如果我怀疑这与证书和配置相关,为什么现有用户可以重新下载它?

【问题讨论】:

    标签: ios over-the-air ios-enterprise


    【解决方案1】:

    .ipa 中嵌入的配置文件可能丢失、无效、损坏或过期。解压缩企业 .ipa 并打开 Payload/myapp.app/embedded.mobileprovision 文件(它将是二进制文件,但包含大部分文本编辑器会让您看到的纯文本 XML 块)。检查 application-identifier 是否与 app bundle ID 匹配,并且包括 ExpirationDate 在内的其他字段是否有效。

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

    【讨论】:

    • 从 .ipa 下载的配置文件将在 2017 年 12 月到期
    • 应用标识符看起来正确并且匹配前缀(前缀是 com.company.app 的 tbefore * 的字母数字)
    • 因此,下一个要查看的地方是检查所使用的签名和证书 - 自上次构建或生成配置文件以来,它们是否可能已更改或被撤销?帮助您查找的有用命令包括“security cms -D -i embedded.mobileprovision”以干净地解析配置文件和“codesign -dvvv myapp.app”(来自解压缩的 Payload 目录)以验证代码签名并显示信任关系。
    • 我在开发者门户上查看,配置文件和证书看起来有效期到 2018 年
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2014-06-07
    • 1970-01-01
    相关资源
    最近更新 更多