【问题标题】:App failed to launch "No such process" / certificate untrusted issue应用程序无法启动“没有这样的过程”/证书不受信任的问题
【发布时间】:2025-12-03 00:45:02
【问题描述】:

我正在尝试为开发步骤自动创建 .ipa 文件。 我有企业许可证,并且使用分发证书。 (这是企业发行版的发行证书。所以我不在应用商店上发布)

到目前为止,这是我的代码,我尝试手动完成整个签名过程:

#!/bin/bash 
PROFILE_PATH="XX/XXX/XXX.mobileprovision"
PROFILE_NAME="XXXXXXX"
KEYCHAIN="/Users/XXXX/Library/Keychains/login.keychain-db"
PASSWORD="XXXX"
CERT_PASS="XXXX"
CERT_PATH="./XXX/XXX"
ARCHIVE_PATH="./XXX/myApp.xcarchive"
IPA_PATH="./XXX/myApp.ipa"
EXPORT_PATH="./XXX/exportHouse.plist"


sleep 5

open "${PROFILE_PATH}"

sleep 5

security list-keychains
security unlock-keychain -p ${PASSWORD} ${KEYCHAIN}
security -q import ${CERT_PATH}.p12 -k ${KEYCHAIN} -P ${CERT_PASS}  -T /usr/bin/codesign
security set-keychain-settings ${KEYCHAIN}
security set-key-partition-list -S apple-tool:,apple: -s -k ${PASSWORD}

# Make the archive file
xcodebuild \
  DEVELOPMENT_TEAM="4CVDA82G9X" \
  PROVISIONING_PROFILE_SPECIFIER=${PROFILE_NAME} \
  CODE_SIGN_IDENTITY="iPhone Distribution" \
  CODE_SIGN_STYLE="Manual" \
  OTHER_CODE_SIGN_FLAGS="--keychain ${KEYCHAIN}" \
  -scheme ispektor \
  -workspace ./platforms/ios/myApp.xcworkspace \
  -archivePath ${ARCHIVE_PATH} \
  archive

sleep 5
# Make the IPA file 
xcodebuild \
        -exportArchive \
        -archivePath ${ARCHIVE_PATH} \
        -exportPath ${IPA_PATH} \
        -exportOptionsPlist exportAppStore.plist \
        -exportOptionsPlist ${EXPORT_PATH} \

问题:

我可以下载 ipa 文件;但是,当我在手机上启动它时,它会立即打开和关闭:

当我们查看我们拥有的日志时(我只选择了相关部分):


Executing launch request for application ...

Submitting job ...

 <Error>: failed to get pid for label UIKitApplication: No such process (3)

 <Error>: Failed to start job for application<com.myApp.mobileApp>: <NSError: 0x100545e20; domain: NSPOSIXErrorDomain; code: 3; reason: "No such process"> {
    userInfo = {
        RBLaunchdOperation = launch_get_running_pid_4SB;
        RBLaunchdJobLabel = UIKitApplication:com.myApp.mobileApp[7207][rb-legacy];
    }
}
<Notice>: Trust evaluate failure: [leaf AnchorApple ChainLength IssuerCommonName LeafMarkerOid MissingIntermediate SubjectCommonName]

潜在原因:我认为这来自我的初始证书,当我在第 21 行手动导入时,此证书“不可信” strong> 。当我使用 xcode 完成所有操作并设置“自动管理签名”时,它就可以工作了。

当我手动强制“始终信任”时,我无法编译:

note: Constructing build description
error: Invalid trust settings. Restore system default trust settings for certificate "iPhone Distribution: XXXX" in order to sign code with it. (in target 'myApp' from project 'myApp')

当它说“恢复”时,它意味着信任 --> 不信任。

所以我需要使用 CLI 执行与“自动管理签名”相同的操作。

【问题讨论】:

  • 我可以下载 ipa 文件并在我的手机上启动它,但它会立即打开和关闭 明确一点:ipa 是使用应用商店证书还是企业创建的证书?
  • 嗨@Honey,正如我在开头提到的,它是企业发行版的发行证书。所以我不在 appstore 上发布,我只是在我的公司服务器上 ftp .ipa 和 manifest.plist。
  • this解决了吗?
  • 快速回答是否定的,首先正如我所说的“当我手动强制“始终信任”时,我无法编译”,其次我想通过 CLI 来完成。当我在没有 CLI 的情况下手动执行此过程时,证书不是“不受信任”或“始终受信任”,它只是受信任。当我们管理证书/团队时,这项工作由 xcode 完成

标签: ios command-line-interface ipa xcodebuild enterprise-distribution


【解决方案1】:

您的分发证书由 2030 年到期的 Apple 全球开发者关系认证中级证书签署的原因,而不是 2023 年 2 月 7 日到期的前一个。尽管距离 2023 年还有几年,但最好的证书续订的做法是尽早进行,例如,在到期前还剩 3 个生命周期,然后停止使用之前的证书进行签名(即使它还没有到期)。

在你的情况下,Apple explains

当前的 Apple 全球开发者关系认证中级证书将于 2023 年 2 月 7 日到期。续订的证书将用于签署 2020 年 9 月 2 日之后为 Apple Developer Enterprise Program 颁发的新 iOS 分发证书。

因此,您的分发证书很可能是在 2020 年 9 月 2 日之后颁发的,因此与 2030 年到期的 Apple 全球开发者关系认证中级证书签署。

【讨论】:

    【解决方案2】:

    我解决了

    根本原因是:iPhone 分发证书在钥匙串中不受信任。

    如果我强制“始终信任”,它不会起作用。

    我需要下载 Apple 全球开发者关系认证中心,但在他们的网站 (https://www.apple.com/certificateauthority/) 上,有两个证书:一个持续到 2023 年,另一个持续到 2030 年。 当我添加 2023 时它并没有改变任何东西,但是 2030 使我的分发证书受信任!

    所以你需要 iPhone 发行证书 + 这个 AWDRCA

    【讨论】:

    • 我认为在某些时候您不小心删除了钥匙串项目或破坏了就像我提到的链接中的那样。否则这个问题不会自行发生。不管很高兴你解决了它
    • 我手动擦除所有内容(我的操作系统出厂重启),我希望能够从全新的 Mac 进行部署。我还没有重新测试它:D 感谢您的帮助!
    最近更新 更多