Skip to content

Instantly share code, notes, and snippets.

@psobko
Last active May 15, 2018 23:51
Show Gist options
  • Save psobko/05f82ed29727fb74325d5b09df22a0b0 to your computer and use it in GitHub Desktop.
Save psobko/05f82ed29727fb74325d5b09df22a0b0 to your computer and use it in GitHub Desktop.
Check if the locally installed version of Xcode is up to date by parsing Apple's releases XML.
#!/usr/bin/env ruby
require 'open-uri'
apple_releases = open('https://developer.apple.com/news/releases/rss/releases.rss').read
latest_xcode = /(?<=<title>Xcode )[0-9.]* \([A-Z0-9]*(?=\)<\/title>)/im.match(apple_releases).to_s.tr('(','').split(' ')
local_xcode = /(?<=Xcode )[0-9.].*/im.match(`xcodebuild -version`).to_s.split("\nBuild version ")
puts "Local Xcode version: #{local_xcode[0]} - #{local_xcode[1]}"
if Gem::Version.new(latest_xcode[0]) > Gem::Version.new(local_xcode[0])
puts "A new version of Xcode is available: #{latest_xcode[0]} - #{latest_xcode[1]}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment