首页 > 解决方案 > 重新签名的 AppStore .ipa 到 Enterprise In-House 崩溃

问题描述

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

引导失败并出现错误:错误域 = BKSProcessErrorDomain 代码 = 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.xxxx.xxxx 的 pid .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。对于代码签名,我已经使用了iResignor之类的工具,以及此处EasyResign描述的手动过程。

知道可能是什么问题吗?

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

标签: ioscode-signingipacodesign

解决方案


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


推荐阅读