如何解决如何在iOS中为不同的导出方法和配置文件设置Fastlane?
我们正在iOS应用中使用fastlane和jenkins进行构建。 Wer已经配置了fastlane来构建应用程序,但是问题是我们找不到使用相同配置来构建即席应用程序和应用程序商店应用程序的解决方案。
在/ fastlane文件夹下,我们有gymfile和fastfile具有以下配置:
健身房文件:
scheme("XXXApp")
workspace("XXXX")
output_directory("./fastlane/Builds")
export_method("ad-hoc")
include_symbols(true)
include_bitcode(false)
xcconfig("......XXXX")
sdk("iphoneos")
快速文件: 用于测试应用程序(我们想在其中临时构建它)
lane :test do |options|
get_info_plist_value(path: ENV["INFO_PLIST_PATH"],key: "CFBundleVersion")
increment_build_number(
build_number: options[:build_number],xcodeproj: "./XXXXX"
)
build_test
end
用于生产应用程序(我们要使用应用程序商店导出方法的地方):
lane :candidate_prod do |options|
get_info_plist_value(path: ENV["INFO_PLIST_PATH"],xcodeproj: "./XXXXXX"
)
update_project_provisioning(
xcodeproj: "./XXXXXX",profile: "./fastlane/productionprovisionprofile",target_filter: "productionappname",build_configuration: "Release",code_signing_identity: "XXXX"
)
build_prod
而且我们在fastfile中有这个专用通道(这是针对prod,但对于测试应用程序,我们还有另一个):
private_lane :build_prod do
build_ios_app(
workspace: "XXXXXX",#configuration: configuration,scheme: "productionappname",silent: false,codesigning_identity: "XXXXX",include_bitcode: false,)
puts "$IPA_OUTPUT_PATH::\"#{lane_context[SharedValues::IPA_OUTPUT_PATH]}\""
end
在詹尼克斯,我们有一个步骤运行它:
fastlane candidate_prod build_number:${BUILD_NUMBER}
或者在我们想要测试应用程序的情况下测试而不是候选人_产品
问题是: 我们可以进行哪些更改,以便根据要生成的应用程序(临时或应用程序商店)使用不同的导出方法来创建车道 以及如何为每个构建(测试和生产)指定配置文件,以便我们确保使用其配置文件来构建应用程序?
解决方法
有几种选择-我的猜测是,无论如何,对于不同的应用程序,您都有多个捆绑标识...
- 您可以设置一个新目标,并为该目标创建具有不同方案的同一车道(或构建一个函数并发送正确的方案作为参数)。您还必须创建一个不同的捆绑软件ID。
- 如果您不希望创建其他目标,而您正在对项目使用自动签名,则必须将其更改为手动并在此处指定配置文件。确保具有不同的内部版本号/版本,否则可能会发生冲突
类似的东西
产品
build_app(
workspace: "XXXX.xcworkspace",scheme: "XXXXX",......
export_options: {
method: "app-store",signingStyle: 'manual',provisioningProfiles: {
"bundle id": "Prod profile full name",}
})
临时
build_app(
workspace: "XXXX.xcworkspace",......
export_options: {
method: "ad-hoc",provisioningProfiles: {
"bundle id": "Ad-hoc full name",}
})
不确定方法的命名是否正确-See for more details
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。