使用Codesigndoc自动执行iOS代码签名以进行实际设备UI测试

为了在真实设备上进行iOS UI测试,您需要安排代码签名。 我们已经更新了Codesigndoc,现在它可以为您找到UITest目标的正确文件。

用于在真实设备上运行应用程序

首先,基础知识:我们非常确定您知道, 如果您想在真实设备上运行您的应用,则需要先对其进行签名 。 为此,您将需要一个可爱的代码签名对,即CertificateProvisioning Profile 。 因此,您需要找到正确的证书和供应配置文件对,并将其上载到Bitrise。

有时就像大海捞针(或两个)一样,这就是我们创建Codesigndoc工具的原因,该工具可以为您的项目导出所需的证书和配置文件。 只需在项目的目录中运行此脚本:

bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode.sh)" 

这将安装并运行codesigndoc工具。

它将导出部署您的应用程序所需的所有代码签名文件:

此后,您必须将导出的证书和配置文件上载到Bitrise。 (转到您应用的“协同设计”标签。)

好的,您现在可以通过Bitrise为测试人员部署应用程序并到App Store。 但是,也可以在真实设备上运行UI测试,不是吗?

用于在真实设备上运行UI测试

好吧,在Bitrise上,您可以选择在Firebase的 真实设备上运行UI测试 (了解有关在Bitrise上进行iOS设备测试的更多信息)。

但这也需要在Bitrise上为UI测试目标提供另一对证书和配置文件对

要在真实设备上运行UI测试,需要使用其他配置文件。

首先是基础知识:

  • UI测试目标作为不同的应用程序在物理设备上的不同进程上运行。
  • 这意味着将需要像您的应用程序一样对其进行签名。
  • 您仍然还需要对您的应用程序进行签名(因为您的应用程序也将安装在设备上。)

对于UI测试,您还将需要App和UI测试目标的代码签名文件。 因此,您将需要同时运行install_wrap-xcode.sh (上面的脚本)和install_wrap-xcode-uitests.sh (下面的脚本)。

幸运的是,Codesigndoc现在还具有导出这些代码签名文件的选项。 只需在您的项目目录中运行此脚本即可。

 bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode-uitests.sh)" 

它将导出UI测试目标所需的所有代码签名文件。

在也上传了这些导出的证书和配置文件之后,就完成了。

故障排除

如果UITest扫描程序找不到所需的方案,请按照下列步骤操作:

1.确保您的方案对运行UITest有效。

它必须包含用于运行测试的UITest目标

并且必须启用测试目标。

2.刷新您的项目设置:

  • 在Xcode中为您的方案选择通用iOS设备目标。
  • 清理您的项目: ⌘ Cmd + ↑ Shift + K
  • 运行构建以进行测试: ⌘ Cmd + ↑ Shift + U
  • 再次运行codesigndoc。

有关更多信息,请参见codeigdoc自述文件。