如何在fastlane中处理多个iOS目标(小部件)
我正在尝试将小部件添加到我们的项目中,而fastlane无法再进行自动化如何在fastlane中处理多个iOS目标(小部件),ios,xcode,fastlane,fastlane-match,fastlane-gym,Ios,Xcode,Fastlane,Fastlane Match,Fastlane Gym,我正在尝试将小部件添加到我们的项目中,而fastlane无法再进行自动化 如何在fastlane中编辑小部件包标识符 如何为正确的目标设置正确的资源调配配置文件 我需要的东西: 在xcode中,应用程序目标应具有捆绑标识x.y.z 在xcode中,小部件目标应该具有捆绑标识x.y.z.widget 应用程序目标 小部件目标 在xcode中,应用程序目标应具有与adhoc x.y.z匹配的配置文件 在xcode中,小部件目标应具有与adhoc x.y.z.widget匹配的配置文件
- 如何在fastlane中编辑小部件包标识符
- 如何为正确的目标设置正确的资源调配配置文件
- 在xcode中,应用程序目标应具有捆绑标识x.y.z
- 在xcode中,小部件目标应该具有捆绑标识x.y.z.widget
- 在xcode中,应用程序目标应具有与adhoc x.y.z匹配的配置文件
- 在xcode中,小部件目标应具有与adhoc x.y.z.widget匹配的配置文件
desc "Build the app and send it to Testflight for testing"
lane :build_adhoc do
UI.message("app_name: #{app_name}")
UI.message("app_identifier: #{app_identifier}")
UI.message("apple_id: #{apple_id}")
UI.message("team_id: #{team_id}")
UI.message("sku: #{sku}")
xcodeprojpath = "../ios/" + app_name + ".xcodeproj"
proj = Xcodeproj::Project.open("../" + xcodeprojpath)
proj.build_configurations.each do |item|
item.build_settings["DEVELOPMENT_TEAM"] = team_id
item.build_settings["PROVISIONING_PROFILE_SPECIFIER"] = match_ad_hoc_provisioning
item.build_settings["CODE_SIGN_IDENTITY[sdk=iphoneos*]"] = match_ad_hoc_signing
item.build_settings["SWIFT_VERSION"] = swift_version
item.build_settings["ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES"] = "YES"
end
proj.recreate_user_schemes
proj.save
begin
disable_automatic_code_signing
rescue => ex
UI.message("failed to disable automatic signing")
UI.error(ex)
end
get_certificates(
development: false,
username: apple_id,
team_id: team_id,
)
unlock_keychain(
password: keychainPassword,
)
#bumpBuildNumber
sigh(username: apple_id, adhoc: true, readonly: false, app_identifier: app_identifier, team_id: team_id) #force: false,
gym(export_method: "ad-hoc",
clean: true,
configuration: "Release",
codesigning_identity: match_ad_hoc_signing,
export_team_id: team_id,
skip_profile_detection: true,
export_options: {
method: "ad-hoc",
signingStyle: "manual",
provisioningProfiles: { "#{app_identifier}": "#{match_ad_hoc_provisioning}" },
})
end
您可以在export_options->provisioningProfiles中为小部件添加一个以上的键,以指定小部件的配置文件
gym(export_method: "ad-hoc",
clean: true,
configuration: "Release",
codesigning_identity: match_ad_hoc_signing,
export_team_id: team_id,
skip_profile_detection: true,
export_options: {
method: "ad-hoc",
signingStyle: "manual",
provisioningProfiles: { "#{app_identifier}": "#{match_ad_hoc_provisioning}" },
{ "#{widget_identifier}": "#{match_ad_hoc_provisioning_for_widget}" }
})