【问题标题】:Re-signed AppStore .ipa to Enterprise In-House crashing重新签名的 AppStore .ipa 到 Enterprise In-House 崩溃
【发布时间】:2020-06-16 09:19:15
【问题描述】:

在我的项目中,我们使用来自 Apple 开发者帐户的 AppStore 证书创建了一个.ipa。此外,我们的客户希望我们使用他们的企业内部证书和他们 Apple 企业帐户中的配置文件重新签署 .ipa,以便他们能够在内部分发应用程序。 但是,在没有显示任何错误的设备中安装.ipa 后,应用程序启动但立即崩溃。我能够得到以下日志:

引导失败并出现错误:错误域=BKSProcessErrorDomain Code=1“无法使用 bundleID com.com.xxxx.xxxx.xxxx 引导进程”UserInfo={NSLocalizedDescription=无法使用 bundleID com.com.xxxx 引导进程。 xxxx.xxxx, BKSProcessExitReason=0, NSLocalizedFailureReason=启动作业失败,NSUnderlyingError=0x282068ff0 {错误域=NSPOSIXErrorDomain Code=3“没有这样的进程”UserInfo={BKLaunchdOperation=launch_get_running_pid_4SB, NSLocalizedDescription=无法获取标签 UIKitApplication:com 的 pid。 xxxx.xxxx.xxxx[0x333f][62], BKLaunchdJobLabel=UIKitApplication:com.com.xxxx.xxxx.xxxx[0x333f][62], NSLocalizedFailureReason=没有这样的进程}}, BKSProcessJobLabel=UIKitApplication:com.com.xxxx。 xxxx.xxxx[0x333f][62], BSErrorCodeDescription=bootstrap-failed}

我已经仔细检查了证书和配置文件的到期日期,同样信任它们被设置为Use System Defaults,并且两者看起来也相互匹配。此外,我正在更新 Info.plist 文件中的捆绑标识符并更新 Entitlements.plist 。 对于代码签名,我已经使用了iResignEasyResign 等工具,以及here 描述的手动过程。

知道可能是什么问题吗?

更新:我能够通过使用开发证书而不是 AppStore 证书(如@below 建议的那样)构建初始 .ipa 来解决问题,然后再使用客户的 Enterprise In-House 重新签名证书。问题似乎是 Apple 在某种程度上加密了 AppStore 签名应用程序的二进制文件,使得当我们重新签名时,并非所有应用程序都被完全重新签名。因此,据我所知,当需要重新签名并且客户没有向我们提供 Apple 帐户而只向我们提供捆绑标识符、证书和配置文件时,我建议在我们这边对 .ipa 进行代码签名开发或 Ad-Hoc(未经测试,但可能也适用)证书。

【问题讨论】:

    标签: ios code-signing ipa codesign


    【解决方案1】:

    如果您拥有企业证书……为什么不首先使用它来构建应用程序?

    如果您没有:我的经验是,最好使用与所需捆绑标识符匹配的开发人员证书构建应用程序,然后重新签名。

    【讨论】:

    • 关于您的第一点,是的,我有企业证书,但是要使用它构建应用程序,我不应该拥有企业帐户的凭据吗?因为这是我没有的。据我所知(我可能错了),为了构建一个应用程序,我需要拥有与证书关联的 Apple 帐户的凭据。但我只有 Apple 开发帐户的 Apple 帐户凭据,而不是属于我客户的 Apple 企业帐户的凭据。
    • 不,如果您有配置文件和证书,您可以使用 Xcode 签署应用程序。当然,不使用自动签名
    • 当我进入存档 -> 分发应用程序 -> 企业 -> 手动管理签名时,只会出现属于我们 Apple 开发帐户团队的分发证书。我无法选择其他团队。我错过了什么吗?谢谢你的回复
    • 您是否将证书导入您的钥匙串?
    • 我已经导入并正确安装了。
    【解决方案2】:

    更新:我能够通过使用开发证书而不是 AppStore 证书构建初始 .ipa 来解决问题(如 @below 建议的那样),然后使用客户的 Enterprise In- 重新签名房屋证明。问题似乎是 Apple 在某种程度上加密了 AppStore 签名应用程序的二进制文件,使得当我们重新签名时,并非所有应用程序都被完全重新签名。因此,据我所知,当需要重新签名并且客户没有向我们提供 Apple 帐户而只向我们提供捆绑标识符、证书和配置文件时,我建议我们这边将 .ipa 与Development 或 Ad-Hoc(未经测试,但可能也适用)证书。

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      相关资源
      最近更新 更多