use xcodes for Xcode version selection #14

Merged
ivan.smolin merged 1 commits from feature/xcode_version_selection_via_xcodes into master 2024-01-18 14:08:40 +03:00
1 changed files with 1 additions and 13 deletions

View File

@ -160,25 +160,13 @@ private_lane :buildArchive do |options|
lane_name = options[:lane_name]
configuration = options[:configuration]
xcodeproj_path = options[:xcodeproj_path]
xcode_version = options[:xcodeVersion]
cmd = 'system_profiler -json SPDeveloperToolsDataType'
cmd_result = `#{cmd}`
spdeveloperToolsDataType = JSON.parse(cmd_result)['SPDeveloperToolsDataType']
sortedSPDeveloperToolsDataType = spdeveloperToolsDataType.sort_by { |hash| hash['spdevtools_version'].split(' ').first.to_i } # sort by increasing the version of xcode
default_xcode_version = sortedSPDeveloperToolsDataType.last['spdevtools_version'] # take the largest version in format: "13.0 (13A5212g)"
default_xcode_version_number = default_xcode_version.split(' ').first # take version number
xcodes(select_for_current_build_only: true)
vladimir.makarov marked this conversation as resolved
Review

А если файлика .xcode-version нет, то какую он версию достанет?

А если файлика `.xcode-version` нет, то какую он версию достанет?
Review

[UPD] Выдаст ошибку

[UPD] Выдаст ошибку
if configuration != "AppStore" # AppStore uses xcconfig choosen in Xcode
set_xcconfig_for_configuration_of_project(lane_name, configuration, xcodeproj_path)
end
if xcode_version.nil?
xcversion(version: default_xcode_version_number)
else
xcversion(version: xcode_version)
end
gym(
clean: true,
workspace: options[:workspace],