将 Xcode 自动签名设置为 false,并使用 fastlane match 和gym 设置配置文件和证书

chr*_*sva 5 xcode ios fastlane fastlane-gym fusetools

我们使用Fusetools来构建应用程序。使用该命令uno build --target=ios --configuration=Release我们myapp.xcodeproj为应用程序生成一个新文件。

当我.xcodeproj在 Xcode IDE 中手动打开时,我看到该Automatically manage signing复选框已选中。然后我们使用 Fastlane 匹配来获取证书并在 Xcode 中手动选择应用商店证书。这一切都很好。

现在 - 我们尝试使用像Bitrise这样的 CI 提供程序使用无头构建过程来构建它。然后一切都停止在同一点。我们的.xcodeproj复选框Automatically manage signing被选中。

我们的快速文件如下所示:

disable_automatic_code_signing(path: "../myapp.xcodeproj")

match(git_url: "git@github.com:MyRepo/match.git",
      app_identifier: "com.myapp.myapp",
      type: "appstore",
      readonly: true)

gym(
      workspace: "myapp.xcworkspace",
      scheme: "MyApp",
      export_method: "app-store",
      xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore
      com.myapp.myapp'"
)
Run Code Online (Sandbox Code Playgroud)

在我们的例子中,Fastfile我们尝试首先禁用自动签名,在gym中传递参数xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.myapp.myapp'"以在构建之前设置配置文件。

然后我从 Bitrise CI 监视器得到这个:

Code signing is required for product type 'Application' in SDK 'iOS 10.3'

如果在本地运行尝试将自动签名设置为 false 并执行相同操作,我可以重现此内容。

任何想法?

Kra*_*eFx 3

xcargs: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.myapp.myapp'"

这种方法不再有效,因为应用程序可能有多个目标。相反,请查看Xcode 设置指南,其中描述了您可以为每个目标的配置文件名称选项使用由match填充的环境变量