Codemagic APP_STORE_CONNECT_PRIVATE_KEY 提供的值无效

Posted

技术标签:

【中文标题】Codemagic APP_STORE_CONNECT_PRIVATE_KEY 提供的值无效【英文标题】:Codemagic APP_STORE_CONNECT_PRIVATE_KEY Provided value is not valid 【发布时间】:2021-11-29 07:08:17 【问题描述】:

我正在尝试使用 YAML 工作流程在 Codemagic 上签署 ios 构建。在this文档之后,我加密并添加了以下环境变量:

    APP_STORE_CONNECT_KEY_IDENTIFIER APP_STORE_CONNECT_ISSUER_ID APP_STORE_CONNECT_PRIVATE_KEY CERTIFICATE_PRIVATE_KEY

在运行工作流时出现错误提供的值“APP_STORE_CONNECT_PRIVATE_KEY 的值”无效。什么使这个环境变量值有效?我也尝试为这个值添加 base64 编码,但仍然显示相同的错误。

这是我的 codemagic.yaml 文件:

workflows:
  ios-workflow:
    name: iOS Workflow
    # instance_type: mac_mini
    max_build_duration: 120
    environment:
      groups:
        - store
      vars:
        XCODE_WORKSPACE: "Runner.xcworkspace"
        XCODE_SCHEME: "Runner"                
        BUNDLE_ID: "*MY_BUNDLE_ID*"
      flutter: stable
      xcode: latest
      cocoapods: default
    scripts:
      - name: Set up keychain to be used for codesigning using Codemagic CLI 'keychain' command
        script: |
                    keychain initialize
      - name: Fetch signing files
        script: |
# Failing command with invalid APP_STORE_CONNECT_PRIVATE_KEY
                    **app-store-connect fetch-signing-files $BUNDLE_ID --type IOS_APP_STORE --create**
      - name: Use system default keychain
        script: |
                    keychain add-certificates

错误:

invoke_cli 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/cli_app.py”,第 201 行 CliApp._running_app = cls._create_instance(解析器,参数) _create_instance 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/cli_app.py”,第 130 行 实例 = cls.from_cli_args(cli_args) 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/tools/app_store_connect.py”,第 116 行,在 from_cli_args private_key_argument = AppStoreConnectArgument.PRIVATE_KEY.from_args(cli_args) 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/argument.py”,第 55 行,在 from_args return self.value.type.from_environment_variable_default() 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第 42 行,在 from_environment_variable_default 返回 cls(os.environ[cls.environment_variable_key], from_environment=True) init 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第 33 行 self.value: T = self._parse_value() _parse_value 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第 129 行 返回 super()._parse_value() _parse_value 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第 57 行 返回 self._apply_type(value) _apply_type 中的文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第 52 行 raise argparse.ArgumentTypeError(f'提供的值 "value" 无效') argparse.ArgumentTypeError:提供的值“APP_STORE_CONNECT_PRIVATE_KEY 的值”无效

【问题讨论】:

【参考方案1】:

确保您以 .p8 格式从 App Store Connect 下载了私有 API 密钥,并在粘贴到环境变量值字段时复制了全部内容。

【讨论】:

是的,我正在粘贴整个文件以及 -----BEGIN PRIVATE KEY-----....-----END PRIVATE KEY-----。仍然面临同样的错误。 更正:我只是把整个钥匙放进去,它就起作用了。感谢您的意见。

以上是关于Codemagic APP_STORE_CONNECT_PRIVATE_KEY 提供的值无效的主要内容,如果未能解决你的问题,请参考以下文章

如何在codemagic中创建podfile?

Codemagic 自动构建没有被触发

Codemagic“获取签名文件”脚本以状态码 9 退出

配置文件的 Codemagic 问题

Codemagic颤振无法构建android

Flutter - Codemagic - 自定义方案的 iOS 代码签名问题