将Xcode自动签名设置为false,并使用fastlane匹配和健身房

时间:2017-07-06 10:16:14

标签: ios xcode fastlane fusetools fastlane-gym

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

当我手动打开Xcode IDE中的.xcodeproj时,我看到Automatically manage signing复选框已被选中。然后我们使用Fastlane匹配来获取证书并在Xcode中手动选择appstore证书。一切正常。

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

我们的Fastfile如下所示:

```disable_automatic_code_signing(路径:“.. / 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'"
)

```

在我们的Fastfile中,我们首先尝试禁用自动签名,在健身房中传递参数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并执行相同操作,我可以重现此操作。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

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

由于应用可能有多个目标,因此这种方法不再适用。相反,请查看描述您可以使用匹配填充的环境变量的Xcode setup guide,用于每个目标的配置文件名称选项