快速通道从标识符检索预配配置文件路径



是否有任何快速通道/CLI 工具可以根据 UDID 找到预配配置文件的路径和名称?


我正在尝试设置快速通道来进行代码签名。我正在使用match,但它不适用于我的用例,因为需要更改预配配置文件。

我有 2 条车道,都使用RELEASE配置:

  • submit_app_store,使用match App Store配置文件,将发布版本上传到试飞版
  • deploy_qa_prod,使用match AdHoc配置文件,将发布版本上传到我们的 QA 平台

我正在尝试调用update_project_provisioning,但我需要给它一个配置文件的路径,并且我只有配置文件的说明符,例如match AdHoc APP_ID

我想要一个将此说明符转换为路径的命令。


快车道代码:

lane :deploy_qa_prod do
configuration = "Release"
app_identifier = ...
provisioning_profile = "match AdHoc #{app_identifier}"
# In the other lane: provisioning_profile = "match AppStore #{app_identifier}"
sync_code_signing(
type: "adhoc",
app_identifier: app_identifier,
readonly: true
)
update_project_provisioning(
xcodeproj: ...,
target_filter: ...,
# profile: provisioning_profile, <--- This is the problematic line
build_configuration: configuration
)
build_app(
scheme: ...,
workspace: ...,
configuration: configuration
export_options: {
method: "ad-hoc",
provisioningProfiles: {
app_identifier => provisioning_profile
}
}
)
pilot(......)
# In the other lane: upload_to_qa(......)

推荐的解决方案:

我不再只使用DEBUGRELEASE配置。

相反,我定义了 5 种不同的配置:

  • 开发(测试版(
  • 开发(产品(
  • 临时(测试版(
  • 临时 (产品( *
  • 应用商店 (产品( *

* 我原来的RELEASE配置,发布这个问题时。

这样,我可以为每个配置定义单独的证书和预配配置文件,并且不再需要从快速通道更改它们。

如果在Build Settings中定义了某些用户定义的属性,请避免使用.xcconfig文件复制它们 5 次。例如,您可以在此处阅读有关它们的更多信息。

>黑客解决方案,直接回答我的问题我不建议这样做,而是使用单独的配置。但是,如果您需要临时快速修复,则:

不幸的是(或幸运的是(,没有非黑客的方法可以做到这一点。

我注意到的是,sync_code_signing(又名match(在后台调用sigh,这将为下载的配置文件创建环境变量。

这些变量的名称遵循以下格式:sigh_#{app_identifier}_#{match_type}_profile-path(例如:sigh_com.yourDomain.yourAppName_adhoc_profile-path(

然后,您可以在调用update_project_provisioning时使用此变量:

app_identifier = ...
match_type = "adhoc"
configuration = "Release"
sync_code_signing(
type: match_type,
app_identifier: app_identifier,
readonly: true
)
profile_path = ENV["sigh_#{app_identifier}_#{match_type}_profile-path"]

update_project_provisioning(
xcodeproj: ...,
target_filter: ...,
profile: profile_path,
build_configuration: configuration
)

...

相关内容

  • 没有找到相关文章

最新更新