Method: Xccleanup.remove_device_support

Defined in:
lib/xccleanup.rb

.remove_device_support(manually) ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/xccleanup.rb', line 127

def self.remove_device_support(manually)
	saved_bytes = 0

	ds_folder = File.expand_path('~/Library/Developer/Xcode/iOS DeviceSupport/')
	ds_versions = get_folders_in_dir(ds_folder).select { |folder| Gem::Version.correct?(folder.split('/').last.split(' ').first) }

	if ds_versions.length > 0
		puts "Found versions:"
		ds_versions.each do |version_folder|
			version_size = get_byte_size(version_folder)
			version_name = version_folder.split('/').last
			puts "#{version_name} (#{pbs(version_size)})"
		end

		min_version = Gem::Version.new('9999.9.9')
		if manually
			min_version = prompt "> Miminum version to KEEP? "
			min_version = Gem::Version.new(min_version)
		end

		unless min_version.nil?
			ds_versions.each do |version_folder|
				version_name = version_folder.split('/').last
				version_number = version_name.split(' ').first
				version_number = Gem::Version.new(version_number)
				unless version_number.nil?
					if version_number < min_version
						puts "- Removing #{version_name}"
						saved_bytes += get_byte_size(version_folder)
						FileUtils.rm_rf(version_folder)
					else
						puts "- Keeping #{version_name}"
					end
				end
			end
		end
	end

	return saved_bytes
end