Codemagic APP_STORE_CONNECT_PRIVATE_KEY提供的值无效。

7

我正在使用YAML工作流在Codemagic上对iOS构建进行签名。根据这份文档,我已经加密并添加了以下环境变量:

  1. APP_STORE_CONNECT_KEY_IDENTIFIER
  2. APP_STORE_CONNECT_ISSUER_ID
  3. APP_STORE_CONNECT_PRIVATE_KEY
  4. CERTIFICATE_PRIVATE_KEY

运行工作流时,我遇到错误:提供的值“APP_STORE_CONNECT_PRIVATE_KEY的VALUE”无效。如何使此环境变量值有效?我还尝试为此值添加了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

错误: 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/cli_app.py”,第201行,在调用CLI时invoke_cli CliApp._running_app = cls._create_instance(parser, args) 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/cli_app.py”,第130行,创建实例_create_instance instance = 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行,从cli_args中获取实例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行,从args获取实例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 return cls(os.environ[cls.environment_variable_key], from_environment=True) 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第33行,初始化init self.value: T = self._parse_value() 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第129行,解析值_parse_value return super()._parse_value() 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第57行,解析值_parse_value return self._apply_type(value) 文件“/Users/builder/.pyenv/versions/3.8.7/lib/python3.8/site-packages/codemagic/cli/argument/typed_cli_argument.py”,第52行,应用类型_apply_type raise argparse.ArgumentTypeError(f'提供的值"{value}"无效') argparse.ArgumentTypeError:提供的值"VALUE of APP_STORE_CONNECT_PRIVATE_KEY"无效
1个回答

4

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


是的,我正在粘贴整个文件,包括 -----BEGIN PRIVATE KEY-----....-----END PRIVATE KEY-----. 仍然面临相同的错误。 - RainChaser
1
更正:我刚才把整个密钥都放上去了,然后它就可以用了。感谢你的输入。 - RainChaser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接