首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >errSecInternalComponent命令CodeSign失败,退出代码为非零

errSecInternalComponent命令CodeSign失败,退出代码为非零
EN

Stack Overflow用户
提问于 2019-03-07 21:05:36
回答 2查看 6.4K关注 0票数 7

运行cordova build ios --device --release使我有以下内容:

代码语言:javascript
运行
复制
...

CodeSign /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/InstallationBuildProductsLocation/Applications/мојЧоек.app (in target: мојЧоек)
    cd /Users/birowsky/Desktop/the-real-frontend/cordova/platforms/ios
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "iPhone Developer: Daniel Popeski (29B4H8BSP5)"
Provisioning Profile: "iOS Team Provisioning Profile: com.gotaguydev"
                      (b127e78b-f124-4f9a-be66-2411c56b73b6)

    /usr/bin/codesign --force --sign 2DEE62DC0A8710012CE44EC751490177B7C2467D --entitlements /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/IntermediateBuildFilesPath/мојЧоек.build/Release-iphoneos/мојЧоек.build/мојЧоек.app.xcent --timestamp=none /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/InstallationBuildProductsLocation/Applications/мојЧоек.app
/Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/InstallationBuildProductsLocation/Applications/мојЧоек.app: errSecInternalComponent
Command CodeSign failed with a nonzero exit code

** ARCHIVE FAILED **


The following build commands failed:
    CodeSign /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/InstallationBuildProductsLocation/Applications/мојЧоек.app
(1 failure)
xcodebuild: Command failed with exit code 65

这是我的build.json

代码语言:javascript
运行
复制
{
  "ios": {
    "debug": {
      "developmentTeam": "ABCDEFGHIJKL",
      "codeSignIdentity": "iPhone Developer",
      "packageType": "development",
      "automaticProvisioning": true,
      "buildFlag": [
        "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
        "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
        "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
      ]
    },
    "release": {
      "codeSignIdentity": "iPhone Developer",
      "developmentTeam": "ABCDEFGHIJKL",
      "packageType": "app-store",
      "automaticProvisioning": true,
      "buildFlag": [
        "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
        "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
        "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
      ]
    }
  },
  "android": {
    "release": {
      "keystore": "./app-name-release-key.keystore",
      "storePassword": "Some password",
      "alias": "app-name",
      "password" : "Some other password"
    }
  }
}

同一个项目在本地成功构建,但在远程Mini上没有。

我还应该指出,在构建过程的早期,这些内容会被打印出来:

代码语言:javascript
运行
复制
...

Build settings from command line:
    ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
    CONFIGURATION_BUILD_DIR = /Users/birowsky/Desktop/the-real-frontend/cordova/platforms/ios/build/device
    EMBEDDED_CONTENT_CONTAINS_SWIFT =  YES
    LD_RUNPATH_SEARCH_PATHS =  "@executable_path/Frameworks"
    SHARED_PRECOMPS_DIR = /Users/birowsky/Desktop/the-real-frontend/cordova/platforms/ios/build/sharedpch

2019-03-07 20:48:00.501 xcodebuild[30466:1537327]  DVTPortal: Service '<DVTPortalViewDeveloperService: 0x7ff8de7c4510; action='viewDeveloper'>' encountered an unexpected result code from the portal ('1100')
2019-03-07 20:48:00.502 xcodebuild[30466:1537327]  DVTPortal: Error:
Error Domain=DVTPortalServiceErrorDomain Code=1100 "Your session has expired.  Please log in." UserInfo={payload=<CFBasicHash 0x7ff8de58ff70 [0x7fff968df8f0]>{type = mutable dict, count = 9,
entries =>
    0 : responseId = <CFString 0x7ff8de590e60 [0x7fff968df8f0]>{contents = "fcc5bc1e-b847-4eac-af05-b531e2a363ac"}
    2 : <CFString 0x7fff9693fc58 [0x7fff968df8f0]>{contents = "protocolVersion"} = QH65B2
    3 : <CFString 0x7ff8de590d40 [0x7fff968df8f0]>{contents = "requestUrl"} = <CFString 0x7ff8de590d80 [0x7fff968df8f0]>{contents = "https://developerservices2.apple.com/services/QH65B2/viewDeveloper.action"}
    6 : <CFString 0x7ff8de58b7c0 [0x7fff968df8f0]>{contents = "userLocale"} = en_US
    8 : resultCode = <CFNumber 0x1d87d3e108e998c3 [0x7fff968df8f0]>{value = +1100, type = kCFNumberSInt64Type}
    9 : userString = <CFString 0x7ff8de570bf0 [0x7fff968df8f0]>{contents = "Your session has expired.  Please log in."}
    10 : <CFString 0x7ff8de58c780 [0x7fff968df8f0]>{contents = "resultString"} = <CFString 0x7ff8de58b840 [0x7fff968df8f0]>{contents = "authentication.failed"}
    11 : httpCode = <CFNumber 0x1d87d3e108ed1cc3 [0x7fff968df8f0]>{value = +200, type = kCFNumberSInt64Type}
    12 : <CFString 0x7ff8de58b790 [0x7fff968df8f0]>{contents = "creationTimestamp"} = <CFString 0x7ff8de58ec20 [0x7fff968df8f0]>{contents = "2019-03-07T20:48:00Z"}
}
, NSLocalizedDescription=Your session has expired.  Please log in.}
2019-03-07 20:48:01.432 xcodebuild[30466:1537327]  DVTPortal: Service '<DVTPortalViewDeveloperService: 0x7ff8e10416b0; action='viewDeveloper'>' encountered an unexpected result code from the portal ('1100')
2019-03-07 20:48:01.432 xcodebuild[30466:1537327]  DVTPortal: Error:
Error Domain=DVTPortalServiceErrorDomain Code=1100 "Your session has expired.  Please log in." UserInfo={payload=<CFBasicHash 0x7ff8de7cbb70 [0x7fff968df8f0]>{type = mutable dict, count = 9,
entries =>
    0 : responseId = <CFString 0x7ff8de796b40 [0x7fff968df8f0]>{contents = "7327ecd9-8984-4c14-bc79-86c9908073e7"}
    2 : <CFString 0x7fff9693fc58 [0x7fff968df8f0]>{contents = "protocolVersion"} = QH65B2
    3 : <CFString 0x7ff8de780b80 [0x7fff968df8f0]>{contents = "requestUrl"} = <CFString 0x7ff8de78e740 [0x7fff968df8f0]>{contents = "https://developerservices2.apple.com/services/QH65B2/viewDeveloper.action"}
    6 : <CFString 0x7ff8de7c3c10 [0x7fff968df8f0]>{contents = "userLocale"} = en_US
    8 : resultCode = <CFNumber 0x1d87d3e108e998c3 [0x7fff968df8f0]>{value = +1100, type = kCFNumberSInt64Type}
    9 : userString = <CFString 0x7ff8de779120 [0x7fff968df8f0]>{contents = "Your session has expired.  Please log in."}
    10 : <CFString 0x7ff8de7bf760 [0x7fff968df8f0]>{contents = "resultString"} = <CFString 0x7ff8de7a2240 [0x7fff968df8f0]>{contents = "authentication.failed"}
    11 : httpCode = <CFNumber 0x1d87d3e108ed1cc3 [0x7fff968df8f0]>{value = +200, type = kCFNumberSInt64Type}
    12 : <CFString 0x7ff8de788470 [0x7fff968df8f0]>{contents = "creationTimestamp"} = <CFString 0x7ff8de78fc60 [0x7fff968df8f0]>{contents = "2019-03-07T20:48:01Z"}
}
, NSLocalizedDescription=Your session has expired.  Please log in.}
note: Using new build system
note: Planning build
note: Constructing build description
CreateBuildDirectory /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/IntermediateBuildFilesPath (in target: CordovaLib)
    cd /Users/birowsky/Desktop/the-real-frontend/cordova/platforms/ios/CordovaLib
    builtin-create-build-directory /Users/birowsky/Library/Developer/Xcode/DerivedData/мојЧоек-eihflkqaiafhhrgatfbnarfxvrlb/Build/Intermediates.noindex/ArchiveIntermediates/мојЧоек/IntermediateBuildFilesPath

...

我还尝试用:cordova clean ios清理平台,这就是我得到的:

代码语言:javascript
运行
复制
Running command: xcodebuild -project мојЧоек.xcodeproj -configuration Debug -alltargets clean
note: Using new build system
error: Could not delete `/Users/birowsky/Desktop/the-real-frontend/cordova/platforms/ios/build` because it was not created by the build system.

** CLEAN FAILED **

xcodebuild: Command failed with exit code 65
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-12 15:16:09

在最初的问题中没有提到ssh连接。很高兴我们能搞清楚!

来自苹果的“用Xcode进行测试”指南:在xcodebuild中使用ssh

除非在主机上创建了正确的会话环境,否则从ssh远程登录(或从启动恶魔)调用xcodebuild失败。 当您以用户身份交互登录到您的macOS系统时,将创建一个“Aqua会话”环境。Aqua会话初始化macOS交互环境的基础设施;它们是为了能够运行macOS应用程序而需要的。具体来说,使用UI框架(AppKit或UIKit)的代码需要在Aqua会话中运行。由于这一需求,在macOS上进行测试(以及在模拟器上进行测试,本身就是macOS应用程序)需要一个Aqua会话。

有三种选择:

  1. 在Xcode Bots中使用Xcode Server - Apple支持和推荐的选项
  2. 与CI服务器一起使用Aqua会话
  3. 解锁钥匙链使用security unlock-keychain和绊脚石,直到下一个问题。
票数 8
EN

Stack Overflow用户

发布于 2021-03-18 03:26:10

造成此问题的根本原因是当通过ssh连接到Mac时,键链被锁定。

解决此问题的一个快速而肮脏的解决方案是在Mac计算机上创建一个脚本~/.ssh/rc,其内容如下

代码语言:javascript
运行
复制
#!/bin/bash
security  unlock-keychain -p YOUR_LOGIN_PASSWORD_HERE login.keychain

当您通过ssh连接到机器并解锁登录密钥链时,脚本将被执行。

如果您正在寻找一个正式的解决方案,下面是一个有用的参考资料:https://apple.stackexchange.com/a/285320

一般想法是创建一个由随机生成的密码保护的临时密钥链。然后,您可以使用这个密钥链签署您的应用程序,并删除它,一旦你的工作完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55052775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档