将Apple帐户添加到Azure Pipeline中的XCode

问题描述 投票:0回答:1

我目前在管道内签署 Flutter 应用程序时遇到问题。主要问题是我无权访问 iOS_Distribution 证书的私钥,也无权创建新证书并在配置文件中使用它。所以手动签名是不可能的。 我认为唯一的解决方案是使用

xcodebuild
运行
-allowProvisioningUpdates
以某种方式模仿 XCode 托管配置文件的本地构建过程。但显然 XCode 需要在首选项中分配一个开发人员帐户才能创建配置文件。这导致了我将 Apple 开发者帐户添加到管道以及管道内的 XCode 的问题。我只是无法让它正常工作。我想使用 Apple App Store 服务连接,但无法弄清楚 XCode 是否能够识别凭据。我只是有点迷失了。 有没有办法通过添加 Apple 帐户来在管道中使用自动配置更新?

我尝试过的: 我尝试通过 Azure Pipeline 中的 XCode 任务进行手动和自动代码签名。两者都失败了,因为配置文件与证书不匹配(因为我不允许访问它)或者没有与 XCode 关联的帐户。 我尝试上传 XCode 生成的配置文件,但提示相同的错误,即没有帐户添加到 XCode。 我打电话给负责的团队,询问是否有什么办法可以获取证书的.p12。答案是否定的。 我希望有一个神奇的解决方案来启用自动配置并添加苹果帐户:)

ios flutter azure-devops azure-pipelines code-signing
1个回答
0
投票

所以我找到了一种解决方法。事实证明,上传 XCode 生成的配置文件并不是遥不可及的事情。我将其连同用于它的证书一起上传到安全文件。现在我可以使用自动签名了。但我缺少的是

ExportOptions.plist

决定因素的标签是:

<key>method</key>
    <string>development</string>

使用

app-store
代替
development
分布。这让我能够像平常一样构建 IPA:

- task: Xcode@5
        displayName: Building iOS App
        inputs:
          actions: 'build'
          scheme: 'Runner'
          sdk: 'iphoneos'
          configuration: 'Release'
          xcWorkspacePath: '**/*.xcworkspace'
          packageApp: true
          exportOptions: 'plist'
          exportOptionsPlist: 'path-to-exportoptions'
          exportPath: '$(Build.ArtifactStagingDirectory)/iOS'
          signingOption: 'auto'
          teamId: 'team-id'
© www.soinside.com 2019 - 2024. All rights reserved.