ios - 重新签名的 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
。对于代码签名,我已经使用了iResign
or之类的工具,以及此处EasyResign
描述的手动过程。
知道可能是什么问题吗?
更新:在使用客户的企业内部证书重新签名之前,我能够通过使用开发证书而不是 AppStore 证书(如@below 建议的那样)构建初始 .ipa 来解决问题。问题似乎是 Apple 在某种程度上加密了 AppStore 签名应用程序的二进制文件,使得当我们重新签名时,并非所有应用程序都完全重新签名。因此,据我所知,当需要重新签名并且客户没有向我们提供 Apple 帐户而只向我们提供捆绑标识符、证书和配置文件时,我建议在我们这边对 .ipa 进行代码签名开发或 Ad-Hoc(未经测试,但可能也适用)证书。
解决方案
更新.ipa
:在使用客户的企业内部证书重新签名之前,我能够通过使用开发证书而不是 AppStore 证书(如@below 建议的那样)构建初始值来解决问题。问题似乎是 Apple 在某种程度上加密了 AppStore 签名应用程序的二进制文件,使得当我们重新签名时,并非所有应用程序都完全重新签名。因此,据我所知,当需要重新签名并且客户没有向我们提供 Apple 帐户而只向我们提供捆绑标识符、证书和配置文件时,我建议在我们这边.ipa
与 Development 或Ad-Hoc(未经测试,但可能也适用)证书。
推荐阅读
- c++ - API 监视器类型定义 (XML) 到 C++ 代码
- java - 如何访问字符串请求?
- azure - 在调用 RegisterNativeAsync 时,使用 Xamarin 的 WindowsAzure.Messaging for iOS 会产生 ObjC 运行时异常
- php - PHP cURL grab_page("") 不适用于某些网站
- javascript - 从php mysql循环json数据获取javascript函数
- sql-server - 错误:在贡献表中未找到以下列
- arrays - 查找多个峰值数组,最佳算法
- html - 字体真棒图标不出现
- rocket-chip - 默认缓存参数,如何更改,限制等
- python - 使用 click 设计一个 CLI,它支持具有无限参数的多个参数