Mah*_*oDs 5 iphone ios jenkins fastlane
我们在 iOS 应用程序中使用 fastlane 和 jenkins 来构建它。我们已经配置了 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")
Run Code Online (Sandbox Code Playgroud)
Fastfile:用于测试应用程序(我们想要使用临时构建它)
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
Run Code Online (Sandbox Code Playgroud)
对于生产应用程序(我们要使用应用程序商店导出方法):
lane :candidate_prod do |options|
get_info_plist_value(path: ENV["INFO_PLIST_PATH"], key: "CFBundleVersion")
increment_build_number(
build_number: options[:build_number],
xcodeproj: "./XXXXXX"
)
update_project_provisioning(
xcodeproj: "./XXXXXX",
profile: "./fastlane/productionprovisionprofile",
target_filter: "productionappname",
build_configuration: "Release",
code_signing_identity: "XXXX"
)
build_prod
Run Code Online (Sandbox Code Playgroud)
而且我们在 fastfile 中有这个专用通道(这是用于产品的,但我们还有另一个用于测试应用程序的):
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
Run Code Online (Sandbox Code Playgroud)
在 jenniks 中,我们有一个运行此步骤的步骤:
fastlane candidate_prod build_number:${BUILD_NUMBER}
Run Code Online (Sandbox Code Playgroud)
或测试而不是candidate_prod以防我们想要测试应用程序
问题是: 我们可以进行哪些更改,以便根据我们想要生成的应用程序(附加或应用程序商店)拥有具有不同导出方法的通道,以及如何为每个构建(测试和生产)指定配置文件)所以我们确保我们使用其配置文件构建应用程序?
有几种选择 - 我的猜测是,无论如何,您对不同的应用程序都有超过 1 个捆绑包标识符......
像这样的东西
产品
build_app(
workspace: "XXXX.xcworkspace",
scheme: "XXXXX",
......
export_options: {
method: "app-store",
signingStyle: 'manual',
provisioningProfiles: {
"bundle id": "Prod profile full name",
}
})
Run Code Online (Sandbox Code Playgroud)
特别指定
build_app(
workspace: "XXXX.xcworkspace",
scheme: "XXXXX",
......
export_options: {
method: "ad-hoc",
signingStyle: 'manual',
provisioningProfiles: {
"bundle id": "Ad-hoc full name",
}
})
Run Code Online (Sandbox Code Playgroud)
不确定方法的命名是否正确 -请参阅 获取更多详细信息
| 归档时间: |
|
| 查看次数: |
8323 次 |
| 最近记录: |