Ios 更改已签名IPA的捆绑标识,并使用我自己的证书/设置配置文件辞职

Ios 更改已签名IPA的捆绑标识,并使用我自己的证书/设置配置文件辞职,ios,xcode,codesign,code-signing-entitlements,Ios,Xcode,Codesign,Code Signing Entitlements,第三方公司已使用其证书和配置文件交付了已签名的IPA 为了让我退出IPA,我需要更改包标识符以匹配我的配置文件 我已经使用Fastlane Sigh(dedict.sh)和Stack Overflow post中列出的一系列手动方法尝试了这一点 我正在通过企业分发证书退出IPA,并在设备上安装,但应用程序在启动时崩溃,出现以下错误: default 22:49:29.170425 -0500 assertiond Submitting new job for "ca.mybundleid.

第三方公司已使用其证书和配置文件交付了已签名的IPA

为了让我退出IPA,我需要更改包标识符以匹配我的配置文件

我已经使用Fastlane Sigh(dedict.sh)和Stack Overflow post中列出的一系列手动方法尝试了这一点

我正在通过企业分发证书退出IPA,并在设备上安装,但应用程序在启动时崩溃,出现以下错误:

default 22:49:29.170425 -0500   assertiond  Submitting new job for "ca.mybundleid.here" on behalf of <BKProcess: 0x10130eda0; SpringBoard; com.apple.springboard; pid: 55; agency: SystemShell; visibility: foreground; task: running>
default 22:49:29.170487 -0500   assertiond  Submitted job with label: UIKitApplication:ca.mybundleid.here[0xe47b][66]
error   22:49:29.172015 -0500   assertiond  Unable to obtain a task name port right for pid 1475: (os/kern) failure (0x5)
error   22:49:29.172074 -0500   assertiond  Failed to start job with error <NSError: 0x101354c60; domain: NSPOSIXErrorDomain; code: 3; reason: "The process failed to exec"> {
    description = "Unable to get valid task name port right for pid 1475";
    failureReason = "The process failed to exec";
    recoverySuggestion = "Consult /var/log/com.apple.xpc.launchd/launchd.log for more information";
}
default 22:49:29.172277 -0500   assertiond  Deleted job with label: UIKitApplication:ca.mybundleid.here[0xe47b][66]
error   22:49:29.173927 -0500   SpringBoard [ca.mybundleid.here] Bootstrap failed with error: <NSError: 0x1c0459590; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Failed to start job">
error   22:49:29.174034 -0500   SpringBoard Bootstrapping failed for <FBApplicationProcess: 0x113768450; ca.mybundleid.here; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID ca.mybundleid.here" UserInfo={NSLocalizedDescription=Unable to bootstrap process with bundleID ca.mybundleid.here, BKSProcessExitReason=0, NSLocalizedFailureReason=Failed to start job, NSUnderlyingError=0x1c144a290 {Error Domain=NSPOSIXErrorDomain Code=3 "No such process" UserInfo={NSLocalizedFailureReason=The process failed to exec, NSLocalizedRecoverySuggestion=Consult /var/log/com.apple.xpc.launchd/launchd.log for more information, NSLocalizedDescription=Unable to get valid task name port right for pid 1475}}, BSErrorCodeDescription=bootstrap-failed}
default 22:49:29.170425-0500断言并代表提交“ca.mybundleid.here”的新作业
默认值22:49:29.170487-0500断言已提交的作业,标签为:UIKitApplication:ca.mybundleid.here[0xe47b][66]
错误22:49:29.172015-0500断言无法获取pid 1475:(os/kern)故障(0x5)的任务名称端口权限
错误22:49:29.172074-0500断言无法启动作业,出现错误{
description=“无法正确获取pid 1475的有效任务名称端口”;
failureReason=“进程执行失败”;
recoveryssuggestion=“有关详细信息,请咨询/var/log/com.apple.xpc.launchd/launchd.log”;
}
默认值22:49:29.172277-0500断言并删除了标签为UIKitApplication:ca.mybundleid的作业。此处[0xe47b][66]
错误22:49:29.173927-0500 SpringBoard[ca.mybundleid.here]引导失败,错误为:
错误22:49:29.174034-0500的SpringBoard引导失败,错误为:错误域=BKSProcessErrorDomain代码=1“无法使用bundleID ca.mybundleid.here”用户信息={NSLocalizedDescription=无法使用bundleID ca.mybundleid引导进程。此处,BKSPROCESSEXITREASE=0,NSLocalizedFailureReason=无法启动作业,NSUnderlyingError=0x1c144a290{Error Domain=NSPOSIXErrorDomain Code=3“无此类进程”用户信息={NSLocalizedFailureReason=进程无法执行,nsLocalizedRecoverysSuggestion=参考/var/log/com.apple.xpc.launchd/launchd.log有关详细信息,NSLocalizedDescription=无法正确获取pid 1475的有效任务名称端口},BSErrorCodeDescription=引导失败}
特定错误消息是
无法使用bundleID ca.mybundleid引导进程。此处

在做了一点挖掘之后,这个问题似乎与更改bundle标识符有关

我还发现了这篇帖子,他在里面说

更新:TestFlight的开发人员科林·亨伯(Colin Humber)让我意识到 此方法的潜在问题。显然 用于构建应用程序的配置配置文件是硬编码的 在构建过程中输入二进制文件。如果以后退出应用程序 使用属于不同应用程序ID的配置配置文件 在二进制文件中,将不再匹配配置文件的应用程序ID 因为二进制文件不会被重新编译。这会导致各种各样的错误 依赖应用程序ID的服务出现问题,例如访问 钥匙链、推送通知或应用程序内购买

这篇文章还说,如果在配置文件中使用通配符,这是可以避免的,但是原始IPA和我的配置文件中的包标识符是非常不同的

鉴于此,我是否有任何可能的方法使用我的证书和配置文件退出应用程序


编辑:关于二进制文件中嵌入的捆绑包id的帖子仍然准确吗?

你可以使用fastlane。非常简单,快速。请访问。命令是fastlane。/path/app.ipa——signing_identity“iPhone分发:Felix Krause”-p“my.mobileprovision”@Gagan_iOS我使用了Fastlane sign。问题是,我一更改捆绑包标识符,就开始出现错误
无法使用bundleID ca.mybundleid引导进程。这里
ok..请阅读此链接1.2。@Gagan_iOS是的,我确实看到了这篇文章。我正在使用付费的苹果企业开发人员程序以及配置文件和ce证书是有效的。