gpt4 book ai didi

xcode - FaSTLane 从标识符中检索配置文件路径

转载 作者:行者123 更新时间:2023-12-04 15:36:01 27 4
gpt4 key购买 nike

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


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

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

  • submit_app_store,使用 match App Store 配置文件,将发布版本上传到 Test Flight
  • 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 配置,在发布这个问题时。

这样,我可以为每个配置定义单独的证书和配置文件,我不再需要从 faSTLane 更改它们。

如果您在 Build Settings 中定义了一些用户定义的属性,请使用 .xcconfig 文件避免将它们重复 5 次。您可以阅读更多关于它们的信息 here for example .


Hacky解决方案,直接回答我的问题

我不建议这样做,而是使用单独的配置。但是,如果您需要临时的快速修复,那么:

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

我注意到 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
)

...

关于xcode - FaSTLane 从标识符中检索配置文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59715454/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com