xcode-install 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d231d1786e54c1e8b2e96c036a237e5d4883a9e
4
- data.tar.gz: b57ea20a2b18350181ec7aa4591172e8723a7a15
3
+ metadata.gz: 07bf6a5e12986899c2838cfaa033a800cd926f3b
4
+ data.tar.gz: 4ad83829d78ba4f4e5f7519ff150c4ac9958298e
5
5
  SHA512:
6
- metadata.gz: e98f95e482bfc1e2d4f6dbc37c2184affb09bccac736b9e36c289432e13054f98af6fd660052e99ea851dd5c85bf7b7c27958b518a6e3613993627e477c89655
7
- data.tar.gz: 38744910f43927e98a90064e743b9f3c4452618e49035b0f232ae59514ff9c2127e99a1b652e7b4811396f530e4a135debd5697c3ba2015cdb32dfa20d5e6e52
6
+ metadata.gz: a9be63a2ef0f3a58331eb6c1e07bfad285bf14023a832863d16f755f13557b2a5a6a5781724f54bcfd0f73ac3e847d6a4127e11d7d88dd866e286e09518a6592
7
+ data.tar.gz: 8d1f06026a27dbdd3571a6e13dfc2b9fb0499cdedcbc166b4911c516a5b7fa70f4a111f772f67eb8786eda15844cd60617731a63ceebece9b7beea393dfbb481
data/README.md CHANGED
@@ -65,7 +65,7 @@ for doing the installation.
65
65
 
66
66
  ## Contributing
67
67
 
68
- 1. Fork it ( https://github.com/[my-github-username]/xcode-install/fork )
68
+ 1. Fork it ( https://github.com/neonichu/xcode-install/fork )
69
69
  2. Create your feature branch (`git checkout -b my-new-feature`)
70
70
  3. Commit your changes (`git commit -am 'Add some feature'`)
71
71
  4. Push to the branch (`git push origin my-new-feature`)
@@ -22,11 +22,13 @@ module XcodeInstall
22
22
  end
23
23
 
24
24
  def validate!
25
+ return if @version.nil?
25
26
  raise Informative, "Version #{@version} already installed." if @installer.installed?(@version)
26
27
  raise Informative, "Version #{@version} doesn't exist." unless @installer.exist?(@version)
27
28
  end
28
29
 
29
30
  def run
31
+ return if @version.nil?
30
32
  dmgPath = @installer.download(@version)
31
33
  raise Informative, "Failed to download Xcode #{@version}." if dmgPath.nil?
32
34
 
@@ -1,3 +1,3 @@
1
1
  module XcodeInstall
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/xcode/install.rb CHANGED
@@ -164,7 +164,9 @@ module XcodeInstall
164
164
 
165
165
  def get_seedlist
166
166
  @xcodes = parse_seedlist(devcenter.download_seedlist)
167
- @xcodes += prereleases
167
+
168
+ names = @xcodes.map(&:name)
169
+ @xcodes += prereleases.reject { |pre| names.include?(pre.name) }
168
170
 
169
171
  File.open(LIST_FILE,'w') do |f|
170
172
  f << Marshal.dump(xcodes)
@@ -182,7 +184,7 @@ module XcodeInstall
182
184
  |t| /^Xcode [0-9]/.match(t['name'])
183
185
  }.map { |x| Xcode.new(x) }.reject { |x| x.version < MINIMUM_VERSION }.sort {
184
186
  |a,b| a.dateModified <=> b.dateModified
185
- }
187
+ }.select { |x| x.url.end_with?('.dmg') }
186
188
  end
187
189
 
188
190
  def list_versions
@@ -244,6 +246,15 @@ module XcodeInstall
244
246
  end
245
247
  end
246
248
 
249
+ def to_s
250
+ "Xcode #{version} -- #{url}"
251
+ end
252
+
253
+ def ==(o)
254
+ dateModified == o.dateModified && name == o.name && path == o.path && \
255
+ url == o.url && version == o.version
256
+ end
257
+
247
258
  def self.new_prelease(version, url)
248
259
  self.new({'name' => version,
249
260
  'dateModified' => Time.now.to_i,
@@ -0,0 +1,263 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+ <meta name="Author" content="Apple Inc." />
6
+ <meta name="viewport" content="width=1024" />
7
+ <link rel="shortcut icon" href="/favicon.ico" />
8
+ <link rel="icon" href="/favicon.ico" />
9
+ <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Myriad+Set+Pro&v=1" type="text/css" />
10
+ <link rel="stylesheet" href="/assets/core/styles/base.css" type="text/css" />
11
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/core/styles/adc.css" type="text/css" />
12
+ <link rel="stylesheet" href="/assets/core/styles/templates.css" type="text/css" />
13
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/topbar.css" type="text/css" />
14
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/prototype.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/scriptaculous.js" type="text/javascript" charset="utf-8"></script>
16
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/browserdetect.js" type="text/javascript" charset="utf-8"></script>
17
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/apple_core.js" type="text/javascript" charset="utf-8"></script>
18
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/search_decorator.js" type="text/javascript" charset="utf-8"></script>
19
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/adc_core.js" type="text/javascript" charset="utf-8"></script>
20
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/ac_retina.js" type="text/javascript" charset="utf-8"></script>
21
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/topbarDropdown.js" type="text/javascript" charset="utf-8"></script>
22
+ <script type="text/javascript">
23
+ document.write('<link rel="stylesheet" type="text/css" href="https://devimages.apple.com.edgekey.net/assets/styles/script.css" media="screen">');
24
+ </script>
25
+ <!-- Augmented Search -->
26
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/augmented_search.css" type="text/css">
27
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jquery/jquery-1.11.0.min.js"></script>
28
+ <script>jQuery.noConflict();</script>
29
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/augmented_search.js"></script>
30
+ <title>Xcode - Downloads - Apple Developer</title>
31
+ <meta name="omni_page" content="Xcode Downloads and Resources - (English)">
32
+ <meta name="Description" content="Xcode includes the Xcode IDE, Instruments, iOS Simulator, the latest OS X and iOS SDKs, and more. Download Xcode and start creating apps for iOS and OS X.">
33
+ <link rel="stylesheet" href="/xcode/styles/xcode-tabs.css" type="text/css" />
34
+ <meta name="robots" content="noodp,noydir" />
35
+ <link rel="alternate" href="https://developer.apple.com/kr/xcode/downloads/" hreflang="ko-KR" />
36
+ <link rel="alternate" href="https://developer.apple.com/jp/xcode/downloads/" hreflang="ja-JP" />
37
+ <link rel="alternate" href="https://developer.apple.com/cn/xcode/downloads/" hreflang="zh-CN" />
38
+ <link rel="alternate" href="https://developer.apple.com/xcode/downloads/" hreflang="en" />
39
+ </head>
40
+ <body id="downloads" class="white">
41
+ <div id="globalheader-wrapper">
42
+ <nav id="globalheader" data-hires="true">
43
+
44
+ <h1 data-hires="true"><a href="/">Apple Developer</a></h1>
45
+ <ul id="gh-nav">
46
+ <li id="gh-nav-technologies"><a href="/technologies/">Technologies</a></li>
47
+ <li id="gh-nav-resources"><a href="/resources/">Resources</a></li>
48
+ <li id="gh-nav-programs"><a href="/programs/">Programs</a></li>
49
+ <li id="gh-nav-support"><a href="/support/">Support</a></li>
50
+ <li id="gh-nav-membercenter"><a href="/membercenter/">Member Center</a></li>
51
+ </ul>
52
+
53
+ <div id="gh-search" data-hires="true">
54
+ <form action="/search/index.php" method="get" accept-charset="utf-8"><div>
55
+ <label for="gh-adcsearch">
56
+ <span class="prettyplaceholder"></span>
57
+ <input type="text" name="q" id="gh-adcsearch" class="adcsearch prettysearch augmented">
58
+ </label>
59
+ </div></form>
60
+ </div>
61
+
62
+ <script type="text/javascript">
63
+ Event.onDOMReady(function() {
64
+ // Get root path for Global Header Active class
65
+ ghLocation = location.pathname.split('/')[1];
66
+ // Make sure it doesn't try to add a file extension to the css class
67
+ if(ghLocation.include('.')) ghLocation = ghLocation.split('.')[0];
68
+ // Add Global Header Active State Class
69
+ $$('body')[0].addClassName('gh-nav-'+location.pathname.split('/')[1]+'-active');
70
+ });
71
+ </script>
72
+ </nav>
73
+ </div>
74
+
75
+ <div id="top">
76
+ <!-- SiteCatalyst code version: H.8. Copyright 1997-2006 Omniture, Inc. -->
77
+ <script type="text/javascript">
78
+ /* RSID: */
79
+ var s_account="appleglobal,appleusdeveloper"
80
+ </script>
81
+
82
+ <script type="text/javascript" src="https://www.apple.com/metrics/scripts/s_code_h.js"></script>
83
+ <script type="text/javascript">
84
+ s.pageName=AC.Tracking.pageName();
85
+ s.channel="www.us.developer"
86
+
87
+ /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
88
+ var s_code=s.t();if(s_code)document.write(s_code)</script>
89
+ <!-- End SiteCatalyst code version: H.8. -->
90
+ </div>
91
+ <div id="content" class="content" data-hires="true">
92
+
93
+ <header>
94
+ <img id="title" src="https://devimages.apple.com.edgekey.net/xcode/images/xcode-hero.png" width="856" height="130" alt="Xcode - the complete toolset for building great apps.">
95
+ </header>
96
+
97
+ <section class="layout-tabs">
98
+ <div class="tab-wrapper">
99
+ <div class="divider"></div>
100
+ <div class="grid4col tabs">
101
+ <div class="column one"><a href="/xcode/">What's New</a></div>
102
+ <div class="column two"><a href="/xcode/ide/">Xcode IDE</a></div>
103
+ <div class="column three"><a href="/xcode/interface-builder/">Interface Builder</a></div>
104
+ <div class="column four"><a href="/xcode/features/">Features</a></div>
105
+ <div class="column five active"><a href="/xcode/downloads/">Downloads</a></div>
106
+ </div>
107
+ </div>
108
+ </section>
109
+
110
+ <div class="maincontent margin-sides-40">
111
+ <section class="first">
112
+ <h2>Download Xcode for Free</h2>
113
+ </section>
114
+
115
+ <section class="download">
116
+ <img class="right padding-bottom-20" src="https://devimages.apple.com.edgekey.net/xcode/images/downloads.png" width="360" height="217" alt="" />
117
+ <h3>Xcode 6.3</h3>
118
+ <p class="width-45 margin-bottom-12">This release includes the Xcode IDE, LLVM compiler, Instruments, iOS Simulator, the latest OS X and iOS SDKs, WatchKit and the Swift 1.2 programming language.
119
+ </p>
120
+ <p class="width-45 margin-bottom-12">
121
+ Updated: Apr 8, 2015<br />
122
+ Build: 6D570<br />
123
+ SDK: iOS 8.4, OS X v10.10
124
+ </p>
125
+ <p class="width-45 margin-bottom-0">
126
+ <a class="arrow arrow-right" href="http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12">View in the Mac App Store</a></p>
127
+ </section>
128
+
129
+ <section class="pre-release divider-top cleared">
130
+ <img class="right padding-right-100" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/128x128/xcode6-beta.png" width="128" height="128" alt="">
131
+ <h3>Xcode 6.4</h3>
132
+ <p class="width-45 margin-bottom-12">This is a pre-release version of the complete Xcode developer toolset for Mac, iPhone, iPad, and <span class="nowrap">Apple Watch.</span> This release requires <span class="nowrap">OS X Yosemite.</span>
133
+ </p>
134
+ <p class="width-45 margin-bottom-12">
135
+ Released: Apr 13, 2015<br />
136
+ Build: 6E7<br />
137
+ SDK: iOS 8.3 beta 4, OS X v10.10<br />
138
+ <ul class="links small">
139
+ <li class="dmg"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_Beta/Xcode_6.4_beta.dmg">Download Xcode 6.4</a></li>
140
+ <li class="document"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_Beta/Xcode_6.4_beta_Release_Notes.pdf">Xcode 6.4 beta Release Notes</a></li>
141
+ </ul>
142
+ </p>
143
+ </section>
144
+
145
+
146
+ <section class="related padding-top-40 divider-top">
147
+ <h2>Related Downloads and Resources</h2>
148
+
149
+ <div class="padding-top-30">
150
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/downloads.png" width="64" height="64" alt="">
151
+ <h3>Additional Tools</h3>
152
+ <p>Sign in with your Apple ID to download previous versions of Xcode or additional tools from the developer downloads site. <a class="arrow arrow-right" href="/downloads/">View downloads</a></p>
153
+ </div>
154
+
155
+ <div class="padding-top-20">
156
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/videos.png" width="64" height="64" alt="">
157
+ <h3>Videos</h3>
158
+ <p>Watch and learn from Apple engineers as they show how to bring the best of Apple technologies to your apps. <a class="arrow arrow-right" href="/videos/">Watch videos</a></p>
159
+ </div>
160
+
161
+ <div class="padding-top-20">
162
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/library.png" width="64" height="64" alt="">
163
+ <h3>Guides and Tutorials</h3>
164
+ <p>Find a comprehensive set of programming guides, reference, and sample code for developing with the latest tools and technologies on iOS and OS X.<br /><a class="arrow arrow-right" href="/library/ios/navigation/#section=Topics&topic=Xcode">Read documentation</a></p>
165
+ </div>
166
+
167
+ <div class="padding-top-20">
168
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/forum.png" width="64" height="64" alt="">
169
+ <h3>Forums</h3>
170
+ <p>Post questions and share comments about using Xcode with fellow developers.<br /><a class="arrow arrow-right" href="/devforums/">Join conversations</a></p>
171
+ </div>
172
+ </section>
173
+ </div>
174
+ </div><!-- /content -->
175
+
176
+ <div id="globalfooter">
177
+ <div id="breadory">
178
+ <ol id="breadcrumbs">
179
+ <li class="home"><a href="/">Developer</a></li>
180
+ <li><a href="/xcode/">Xcode</a></li>
181
+ <li>Downloads</li>
182
+ </ol>
183
+ <div id="directorynav" class="ipoditunes">
184
+ <div id="dn-cola" class="column first">
185
+ <h3><a href="/technologies/">What's New</a></h3>
186
+ <ul>
187
+ <li><a href="/ios8/">iOS 8</a></li>
188
+ <li><a href="/osx/whats-new/">OS X Yosemite</a></li>
189
+ <li><a href="/swift/">Swift</a></li>
190
+ <li><a href="/xcode/">Xcode 6</a></li>
191
+ </ul>
192
+ </div><!--/dn-cola-->
193
+ <div id="dn-colb" class="column">
194
+ <h3><a href="/resources/">Resources</a></h3>
195
+ <ul>
196
+ <li><a href="/devcenter/ios/index.action">iOS Dev Center</a></li>
197
+ <li><a href="/devcenter/mac/index.action">Mac Dev Center</a></li>
198
+ <li><a href="/devcenter/safari/index.action">Safari Dev Center</a></li>
199
+ <li><a href="/app-store/">App Store</a></li>
200
+ <li><a href="/iad/">iAd</a></li>
201
+ <li><a href="/icloud/">iCloud</a></li>
202
+ </ul>
203
+ </div><!--/dn-colb-->
204
+ <div id="dn-colc" class="column">
205
+ <h3 class="empty">&nbsp;</h3>
206
+ <ul>
207
+ <li><a href="/devforums/">Forums</a></li>
208
+ <li><a href="/videos/">Videos</a></li>
209
+ <li><a href="/softwarelicensing/">Licensing and Trademarks</a></li>
210
+ <li><a href="/hardwaredrivers/">Hardware and Drivers</a></li>
211
+ <li><a href="/resources/cases/">iPod, iPhone, and iPad Cases</a></li>
212
+ <li><a href="/opensource/">Open Source</a></li>
213
+ </ul>
214
+ </div><!--/dn-colc-->
215
+ <div id="dn-cold" class="column">
216
+ <h3><a href="/programs/">Programs</a></h3>
217
+ <ul>
218
+ <li><a href="/programs/ios/">iOS Developer Program</a></li>
219
+ <li><a href="/programs/ios/enterprise/">iOS Developer Enterprise Program</a></li>
220
+ <li><a href="/programs/ios/university/">iOS Developer University Program</a></li>
221
+ <li><a href="/programs/mac/">Mac Developer Program</a></li>
222
+ <li><a href="/programs/safari/">Safari Developer Program</a></li>
223
+ <li><a href="/programs/mfi/">MFi Program</a></li>
224
+ </ul>
225
+ </div><!--/dn-cold-->
226
+ <div id="dn-cole" class="column last">
227
+ <h3><a href="/support/">Support</a></h3>
228
+ <ul>
229
+ <li><a href="/support/ios/">iOS Developer Program</a></li>
230
+ <li><a href="/support/mac/">Mac Developer Program</a></li>
231
+ <li><a href="/support/safari/">Safari Developer Program</a></li>
232
+ <li><a href="/support/appstore/">App Store</a></li>
233
+ <li><a href="/support/resources/itunes-connect.html">iTunes Connect</a></li>
234
+ <li><a href="/support/technical/">Technical Support</a></li>
235
+ </ul>
236
+ </div><!--/dn-cole-->
237
+ <div class="capbottom"></div>
238
+ </div><!--/directorynav-->
239
+ </div><!--/breadory-->
240
+ <p class="gf-buy">Shop the <a href="http://www.apple.com/store/">Apple Online Store</a> (1-800-MY-APPLE), visit an <a href="http://www.apple.com/retail/">Apple Retail Store</a>, or find a <a href="http://www.apple.com/buy/locator/">reseller</a>.</p>
241
+ <ul class="gf-links piped">
242
+ <li><a href="/news/" class="first">News</a></li>
243
+ <li><a href="/register/">Register</a></li>
244
+ <li><a href="/bug-reporting/">Report Bugs</a></li>
245
+ <li><a href="/contact/">Contact Us</a></li>
246
+ </ul>
247
+ <div class="gf-sosumi">
248
+ <p>Copyright © 2015 Apple Inc. All rights reserved.</p>
249
+ <ul class="piped">
250
+ <li><a href="http://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a></li>
251
+ <li><a href="http://www.apple.com/privacy/">Privacy Policy</a></li>
252
+ </ul>
253
+ </div>
254
+ <div id="localization-links">
255
+ <ul>
256
+ <li><a href="/cn/" title="Simplified Chinese">简体中文</a></li>
257
+ <li><a href="/jp/" title="Japanese">日本語</a></li>
258
+ <li><a href="/kr/" title="Korean">한국어</a></li>
259
+ </ul>
260
+ </div>
261
+ </div><!--/globalfooter-->
262
+ </body>
263
+ </html>
@@ -0,0 +1,263 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+ <meta name="Author" content="Apple Inc." />
6
+ <meta name="viewport" content="width=1024" />
7
+ <link rel="shortcut icon" href="/favicon.ico" />
8
+ <link rel="icon" href="/favicon.ico" />
9
+ <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Myriad+Set+Pro&v=1" type="text/css" />
10
+ <link rel="stylesheet" href="/assets/core/styles/base.css" type="text/css" />
11
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/core/styles/adc.css" type="text/css" />
12
+ <link rel="stylesheet" href="/assets/core/styles/templates.css" type="text/css" />
13
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/topbar.css" type="text/css" />
14
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/prototype.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/scriptaculous.js" type="text/javascript" charset="utf-8"></script>
16
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/browserdetect.js" type="text/javascript" charset="utf-8"></script>
17
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/apple_core.js" type="text/javascript" charset="utf-8"></script>
18
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/search_decorator.js" type="text/javascript" charset="utf-8"></script>
19
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/adc_core.js" type="text/javascript" charset="utf-8"></script>
20
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/ac_retina.js" type="text/javascript" charset="utf-8"></script>
21
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/topbarDropdown.js" type="text/javascript" charset="utf-8"></script>
22
+ <script type="text/javascript">
23
+ document.write('<link rel="stylesheet" type="text/css" href="https://devimages.apple.com.edgekey.net/assets/styles/script.css" media="screen">');
24
+ </script>
25
+ <!-- Augmented Search -->
26
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/augmented_search.css" type="text/css">
27
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jquery/jquery-1.11.0.min.js"></script>
28
+ <script>jQuery.noConflict();</script>
29
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/augmented_search.js"></script>
30
+ <title>Xcode - Downloads - Apple Developer</title>
31
+ <meta name="omni_page" content="Xcode Downloads and Resources - (English)">
32
+ <meta name="Description" content="Xcode includes the Xcode IDE, Instruments, iOS Simulator, the latest OS X and iOS SDKs, and more. Download Xcode and start creating apps for iOS and OS X.">
33
+ <link rel="stylesheet" href="/xcode/styles/xcode-tabs.css" type="text/css" />
34
+ <meta name="robots" content="noodp,noydir" />
35
+ <link rel="alternate" href="https://developer.apple.com/kr/xcode/downloads/" hreflang="ko-KR" />
36
+ <link rel="alternate" href="https://developer.apple.com/jp/xcode/downloads/" hreflang="ja-JP" />
37
+ <link rel="alternate" href="https://developer.apple.com/cn/xcode/downloads/" hreflang="zh-CN" />
38
+ <link rel="alternate" href="https://developer.apple.com/xcode/downloads/" hreflang="en" />
39
+ </head>
40
+ <body id="downloads" class="white">
41
+ <div id="globalheader-wrapper">
42
+ <nav id="globalheader" data-hires="true">
43
+
44
+ <h1 data-hires="true"><a href="/">Apple Developer</a></h1>
45
+ <ul id="gh-nav">
46
+ <li id="gh-nav-technologies"><a href="/technologies/">Technologies</a></li>
47
+ <li id="gh-nav-resources"><a href="/resources/">Resources</a></li>
48
+ <li id="gh-nav-programs"><a href="/programs/">Programs</a></li>
49
+ <li id="gh-nav-support"><a href="/support/">Support</a></li>
50
+ <li id="gh-nav-membercenter"><a href="/membercenter/">Member Center</a></li>
51
+ </ul>
52
+
53
+ <div id="gh-search" data-hires="true">
54
+ <form action="/search/index.php" method="get" accept-charset="utf-8"><div>
55
+ <label for="gh-adcsearch">
56
+ <span class="prettyplaceholder"></span>
57
+ <input type="text" name="q" id="gh-adcsearch" class="adcsearch prettysearch augmented">
58
+ </label>
59
+ </div></form>
60
+ </div>
61
+
62
+ <script type="text/javascript">
63
+ Event.onDOMReady(function() {
64
+ // Get root path for Global Header Active class
65
+ ghLocation = location.pathname.split('/')[1];
66
+ // Make sure it doesn't try to add a file extension to the css class
67
+ if(ghLocation.include('.')) ghLocation = ghLocation.split('.')[0];
68
+ // Add Global Header Active State Class
69
+ $$('body')[0].addClassName('gh-nav-'+location.pathname.split('/')[1]+'-active');
70
+ });
71
+ </script>
72
+ </nav>
73
+ </div>
74
+
75
+ <div id="top">
76
+ <!-- SiteCatalyst code version: H.8. Copyright 1997-2006 Omniture, Inc. -->
77
+ <script type="text/javascript">
78
+ /* RSID: */
79
+ var s_account="appleglobal,appleusdeveloper"
80
+ </script>
81
+
82
+ <script type="text/javascript" src="https://www.apple.com/metrics/scripts/s_code_h.js"></script>
83
+ <script type="text/javascript">
84
+ s.pageName=AC.Tracking.pageName();
85
+ s.channel="www.us.developer"
86
+
87
+ /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
88
+ var s_code=s.t();if(s_code)document.write(s_code)</script>
89
+ <!-- End SiteCatalyst code version: H.8. -->
90
+ </div>
91
+ <div id="content" class="content" data-hires="true">
92
+
93
+ <header>
94
+ <img id="title" src="https://devimages.apple.com.edgekey.net/xcode/images/xcode-hero.png" width="856" height="130" alt="Xcode - the complete toolset for building great apps.">
95
+ </header>
96
+
97
+ <section class="layout-tabs">
98
+ <div class="tab-wrapper">
99
+ <div class="divider"></div>
100
+ <div class="grid4col tabs">
101
+ <div class="column one"><a href="/xcode/">What's New</a></div>
102
+ <div class="column two"><a href="/xcode/ide/">Xcode IDE</a></div>
103
+ <div class="column three"><a href="/xcode/interface-builder/">Interface Builder</a></div>
104
+ <div class="column four"><a href="/xcode/features/">Features</a></div>
105
+ <div class="column five active"><a href="/xcode/downloads/">Downloads</a></div>
106
+ </div>
107
+ </div>
108
+ </section>
109
+
110
+ <div class="maincontent margin-sides-40">
111
+ <section class="first">
112
+ <h2>Download Xcode for Free</h2>
113
+ </section>
114
+
115
+ <section class="download">
116
+ <img class="right padding-bottom-20" src="https://devimages.apple.com.edgekey.net/xcode/images/downloads.png" width="360" height="217" alt="" />
117
+ <h3>Xcode 6.3.1</h3>
118
+ <p class="width-45 margin-bottom-12">This release includes the Xcode IDE, LLVM compiler, Instruments, iOS Simulator, the latest OS X and iOS SDKs, WatchKit and the Swift 1.2 programming language.
119
+ </p>
120
+ <p class="width-45 margin-bottom-12">
121
+ Updated: Apr 21, 2015<br />
122
+ Build: 6D1002<br />
123
+ SDK: iOS 8.3, OS X v10.10
124
+ </p>
125
+ <p class="width-45 margin-bottom-0">
126
+ <a class="arrow arrow-right" href="http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12">View in the Mac App Store</a></p>
127
+ </section>
128
+
129
+ <section class="pre-release divider-top cleared">
130
+ <img class="right padding-right-100" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/128x128/xcode6-beta.png" width="128" height="128" alt="">
131
+ <h3>Xcode 6.4 beta 2</h3>
132
+ <p class="width-45 margin-bottom-12">This is a pre-release version of the complete Xcode developer toolset for Mac, iPhone, iPad, and <span class="nowrap">Apple Watch.</span> This release requires <span class="nowrap">OS X Yosemite.</span>
133
+ </p>
134
+ <p class="width-45 margin-bottom-12">
135
+ Released: Apr 27, 2015<br />
136
+ Build: 6E14<br />
137
+ SDK: iOS 8.4 beta 2, OS X v10.10<br />
138
+ <ul class="links small">
139
+ <li class="dmg"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg">Download Xcode 6.4 beta 2</a></li>
140
+ <li class="document"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2_Release_Notes.pdf">Xcode 6.4 beta 2 Release Notes</a></li>
141
+ </ul>
142
+ </p>
143
+ </section>
144
+
145
+
146
+ <section class="related padding-top-40 divider-top">
147
+ <h2>Related Downloads and Resources</h2>
148
+
149
+ <div class="padding-top-30">
150
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/downloads.png" width="64" height="64" alt="">
151
+ <h3>Additional Tools</h3>
152
+ <p>Sign in with your Apple ID to download previous versions of Xcode or additional tools from the developer downloads site. <a class="arrow arrow-right" href="/downloads/">View downloads</a></p>
153
+ </div>
154
+
155
+ <div class="padding-top-20">
156
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/videos.png" width="64" height="64" alt="">
157
+ <h3>Videos</h3>
158
+ <p>Watch and learn from Apple engineers as they show how to bring the best of Apple technologies to your apps. <a class="arrow arrow-right" href="/videos/">Watch videos</a></p>
159
+ </div>
160
+
161
+ <div class="padding-top-20">
162
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/library.png" width="64" height="64" alt="">
163
+ <h3>Guides and Tutorials</h3>
164
+ <p>Find a comprehensive set of programming guides, reference, and sample code for developing with the latest tools and technologies on iOS and OS X.<br /><a class="arrow arrow-right" href="/library/ios/navigation/#section=Topics&topic=Xcode">Read documentation</a></p>
165
+ </div>
166
+
167
+ <div class="padding-top-20">
168
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/forum.png" width="64" height="64" alt="">
169
+ <h3>Forums</h3>
170
+ <p>Post questions and share comments about using Xcode with fellow developers.<br /><a class="arrow arrow-right" href="/devforums/">Join conversations</a></p>
171
+ </div>
172
+ </section>
173
+ </div>
174
+ </div><!-- /content -->
175
+
176
+ <div id="globalfooter">
177
+ <div id="breadory">
178
+ <ol id="breadcrumbs">
179
+ <li class="home"><a href="/">Developer</a></li>
180
+ <li><a href="/xcode/">Xcode</a></li>
181
+ <li>Downloads</li>
182
+ </ol>
183
+ <div id="directorynav" class="ipoditunes">
184
+ <div id="dn-cola" class="column first">
185
+ <h3><a href="/technologies/">What's New</a></h3>
186
+ <ul>
187
+ <li><a href="/ios8/">iOS 8</a></li>
188
+ <li><a href="/osx/whats-new/">OS X Yosemite</a></li>
189
+ <li><a href="/swift/">Swift</a></li>
190
+ <li><a href="/xcode/">Xcode 6</a></li>
191
+ </ul>
192
+ </div><!--/dn-cola-->
193
+ <div id="dn-colb" class="column">
194
+ <h3><a href="/resources/">Resources</a></h3>
195
+ <ul>
196
+ <li><a href="/devcenter/ios/index.action">iOS Dev Center</a></li>
197
+ <li><a href="/devcenter/mac/index.action">Mac Dev Center</a></li>
198
+ <li><a href="/devcenter/safari/index.action">Safari Dev Center</a></li>
199
+ <li><a href="/app-store/">App Store</a></li>
200
+ <li><a href="/iad/">iAd</a></li>
201
+ <li><a href="/icloud/">iCloud</a></li>
202
+ </ul>
203
+ </div><!--/dn-colb-->
204
+ <div id="dn-colc" class="column">
205
+ <h3 class="empty">&nbsp;</h3>
206
+ <ul>
207
+ <li><a href="/devforums/">Forums</a></li>
208
+ <li><a href="/videos/">Videos</a></li>
209
+ <li><a href="/softwarelicensing/">Licensing and Trademarks</a></li>
210
+ <li><a href="/hardwaredrivers/">Hardware and Drivers</a></li>
211
+ <li><a href="/resources/cases/">iPod, iPhone, and iPad Cases</a></li>
212
+ <li><a href="/opensource/">Open Source</a></li>
213
+ </ul>
214
+ </div><!--/dn-colc-->
215
+ <div id="dn-cold" class="column">
216
+ <h3><a href="/programs/">Programs</a></h3>
217
+ <ul>
218
+ <li><a href="/programs/ios/">iOS Developer Program</a></li>
219
+ <li><a href="/programs/ios/enterprise/">iOS Developer Enterprise Program</a></li>
220
+ <li><a href="/programs/ios/university/">iOS Developer University Program</a></li>
221
+ <li><a href="/programs/mac/">Mac Developer Program</a></li>
222
+ <li><a href="/programs/safari/">Safari Developer Program</a></li>
223
+ <li><a href="/programs/mfi/">MFi Program</a></li>
224
+ </ul>
225
+ </div><!--/dn-cold-->
226
+ <div id="dn-cole" class="column last">
227
+ <h3><a href="/support/">Support</a></h3>
228
+ <ul>
229
+ <li><a href="/support/ios/">iOS Developer Program</a></li>
230
+ <li><a href="/support/mac/">Mac Developer Program</a></li>
231
+ <li><a href="/support/safari/">Safari Developer Program</a></li>
232
+ <li><a href="/support/appstore/">App Store</a></li>
233
+ <li><a href="/support/resources/itunes-connect.html">iTunes Connect</a></li>
234
+ <li><a href="/support/technical/">Technical Support</a></li>
235
+ </ul>
236
+ </div><!--/dn-cole-->
237
+ <div class="capbottom"></div>
238
+ </div><!--/directorynav-->
239
+ </div><!--/breadory-->
240
+ <p class="gf-buy">Shop the <a href="http://www.apple.com/store/">Apple Online Store</a> (1-800-MY-APPLE), visit an <a href="http://www.apple.com/retail/">Apple Retail Store</a>, or find a <a href="http://www.apple.com/buy/locator/">reseller</a>.</p>
241
+ <ul class="gf-links piped">
242
+ <li><a href="/news/" class="first">News</a></li>
243
+ <li><a href="/register/">Register</a></li>
244
+ <li><a href="/bug-reporting/">Report Bugs</a></li>
245
+ <li><a href="/contact/">Contact Us</a></li>
246
+ </ul>
247
+ <div class="gf-sosumi">
248
+ <p>Copyright © 2015 Apple Inc. All rights reserved.</p>
249
+ <ul class="piped">
250
+ <li><a href="http://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a></li>
251
+ <li><a href="http://www.apple.com/privacy/">Privacy Policy</a></li>
252
+ </ul>
253
+ </div>
254
+ <div id="localization-links">
255
+ <ul>
256
+ <li><a href="/cn/" title="Simplified Chinese">简体中文</a></li>
257
+ <li><a href="/jp/" title="Japanese">日本語</a></li>
258
+ <li><a href="/kr/" title="Korean">한국어</a></li>
259
+ </ul>
260
+ </div>
261
+ </div><!--/globalfooter-->
262
+ </body>
263
+ </html>
@@ -0,0 +1,279 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+ <meta name="Author" content="Apple Inc." />
6
+ <meta name="viewport" content="width=1024" />
7
+ <link rel="shortcut icon" href="/favicon.ico" />
8
+ <link rel="icon" href="/favicon.ico" />
9
+ <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Myriad+Set+Pro&v=1" type="text/css" />
10
+ <link rel="stylesheet" href="/assets/core/styles/base.css" type="text/css" />
11
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/core/styles/adc.css" type="text/css" />
12
+ <link rel="stylesheet" href="/assets/core/styles/templates.css" type="text/css" />
13
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/topbar.css" type="text/css" />
14
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/prototype.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/scriptaculous.js" type="text/javascript" charset="utf-8"></script>
16
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/browserdetect.js" type="text/javascript" charset="utf-8"></script>
17
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/apple_core.js" type="text/javascript" charset="utf-8"></script>
18
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/search_decorator.js" type="text/javascript" charset="utf-8"></script>
19
+ <script src="https://devimages.apple.com.edgekey.net/assets/core/scripts/adc_core.js" type="text/javascript" charset="utf-8"></script>
20
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/ac_retina.js" type="text/javascript" charset="utf-8"></script>
21
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/topbarDropdown.js" type="text/javascript" charset="utf-8"></script>
22
+ <script type="text/javascript">
23
+ document.write('<link rel="stylesheet" type="text/css" href="https://devimages.apple.com.edgekey.net/assets/styles/script.css" media="screen">');
24
+ </script>
25
+ <!-- Augmented Search -->
26
+ <link rel="stylesheet" href="https://devimages.apple.com.edgekey.net/assets/styles/augmented_search.css" type="text/css">
27
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jquery/jquery-1.11.0.min.js"></script>
28
+ <script>jQuery.noConflict();</script>
29
+ <script src="https://devimages.apple.com.edgekey.net/assets/scripts/augmented_search.js"></script>
30
+ <title>Xcode - Downloads - Apple Developer</title>
31
+ <meta name="omni_page" content="Xcode Downloads and Resources - (English)">
32
+ <meta name="Description" content="Xcode includes the Xcode IDE, Instruments, iOS Simulator, the latest OS X and iOS SDKs, and more. Download Xcode and start creating apps for iOS and OS X.">
33
+ <link rel="stylesheet" href="/xcode/styles/xcode-tabs.css" type="text/css" />
34
+ <meta name="robots" content="noodp,noydir" />
35
+ <link rel="alternate" href="https://developer.apple.com/kr/xcode/downloads/" hreflang="ko-KR" />
36
+ <link rel="alternate" href="https://developer.apple.com/jp/xcode/downloads/" hreflang="ja-JP" />
37
+ <link rel="alternate" href="https://developer.apple.com/cn/xcode/downloads/" hreflang="zh-CN" />
38
+ <link rel="alternate" href="https://developer.apple.com/xcode/downloads/" hreflang="en" />
39
+ </head>
40
+ <body id="downloads" class="white">
41
+ <div id="globalheader-wrapper">
42
+ <nav id="globalheader" data-hires="true">
43
+
44
+ <h1 data-hires="true"><a href="/">Apple Developer</a></h1>
45
+ <ul id="gh-nav">
46
+ <li id="gh-nav-technologies"><a href="/technologies/">Technologies</a></li>
47
+ <li id="gh-nav-resources"><a href="/resources/">Resources</a></li>
48
+ <li id="gh-nav-programs"><a href="/programs/">Programs</a></li>
49
+ <li id="gh-nav-support"><a href="/support/">Support</a></li>
50
+ <li id="gh-nav-membercenter"><a href="/membercenter/">Member Center</a></li>
51
+ </ul>
52
+
53
+ <div id="gh-search" data-hires="true">
54
+ <form action="/search/index.php" method="get" accept-charset="utf-8"><div>
55
+ <label for="gh-adcsearch">
56
+ <span class="prettyplaceholder"></span>
57
+ <input type="text" name="q" id="gh-adcsearch" class="adcsearch prettysearch augmented">
58
+ </label>
59
+ </div></form>
60
+ </div>
61
+
62
+ <script type="text/javascript">
63
+ Event.onDOMReady(function() {
64
+ // Get root path for Global Header Active class
65
+ ghLocation = location.pathname.split('/')[1];
66
+ // Make sure it doesn't try to add a file extension to the css class
67
+ if(ghLocation.include('.')) ghLocation = ghLocation.split('.')[0];
68
+ // Add Global Header Active State Class
69
+ $$('body')[0].addClassName('gh-nav-'+location.pathname.split('/')[1]+'-active');
70
+ });
71
+ </script>
72
+ </nav>
73
+ </div>
74
+
75
+ <div id="top">
76
+ <!-- SiteCatalyst code version: H.8. Copyright 1997-2006 Omniture, Inc. -->
77
+ <script type="text/javascript">
78
+ /* RSID: */
79
+ var s_account="appleglobal,appleusdeveloper"
80
+ </script>
81
+
82
+ <script type="text/javascript" src="https://www.apple.com/metrics/scripts/s_code_h.js"></script>
83
+ <script type="text/javascript">
84
+ s.pageName=AC.Tracking.pageName();
85
+ s.channel="www.us.developer"
86
+
87
+ /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
88
+ var s_code=s.t();if(s_code)document.write(s_code)</script>
89
+ <!-- End SiteCatalyst code version: H.8. -->
90
+ </div>
91
+ <div id="content" class="content" data-hires="true">
92
+
93
+ <header>
94
+ <img id="title" src="https://devimages.apple.com.edgekey.net/xcode/images/xcode-hero.png" width="856" height="130" alt="Xcode - the complete toolset for building great apps.">
95
+ </header>
96
+
97
+ <section class="layout-tabs">
98
+ <div class="tab-wrapper">
99
+ <div class="divider"></div>
100
+ <div class="grid4col tabs">
101
+ <div class="column one"><a href="/xcode/">What's New</a></div>
102
+ <div class="column two"><a href="/xcode/ide/">Xcode IDE</a></div>
103
+ <div class="column three"><a href="/xcode/interface-builder/">Interface Builder</a></div>
104
+ <div class="column four"><a href="/xcode/features/">Features</a></div>
105
+ <div class="column five active"><a href="/xcode/downloads/">Downloads</a></div>
106
+ </div>
107
+ </div>
108
+ </section>
109
+
110
+ <div class="maincontent margin-sides-40">
111
+ <section class="first">
112
+ <h2>Download Xcode for Free</h2>
113
+ </section>
114
+
115
+ <section class="download">
116
+ <img class="right padding-bottom-20" src="https://devimages.apple.com.edgekey.net/xcode/images/downloads.png" width="360" height="217" alt="" />
117
+ <h3>Xcode 6.3.1</h3>
118
+ <p class="width-45 margin-bottom-12">This release includes the Xcode IDE, LLVM compiler, Instruments, iOS Simulator, the latest OS X and iOS SDKs, WatchKit and the Swift 1.2 programming language.
119
+ </p>
120
+ <p class="width-45 margin-bottom-12">
121
+ Updated: Apr 21, 2015<br />
122
+ Build: 6D1002<br />
123
+ SDK: iOS 8.3, OS X v10.10
124
+ </p>
125
+ <p class="width-45 margin-bottom-0">
126
+ <a class="arrow arrow-right" href="http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12">View in the Mac App Store</a></p>
127
+ </section>
128
+
129
+ <section class="pre-release divider-top cleared">
130
+ <img class="right padding-right-100" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/128x128/xcode6-beta.png" width="128" height="128" alt="">
131
+ <h3>Xcode 6.3.2 GM seed</h3>
132
+ <p class="width-45 margin-bottom-12">This is a GM seed of the complete Xcode developer toolset for Mac, iPhone, iPad, and <span class="nowrap">Apple Watch.</span> GM seed tools may be used to upload your apps to the App Store. This release requires <span class="nowrap">OS X Yosemite.</span>
133
+ </p>
134
+ <p class="width-45 margin-bottom-12">
135
+ Released: May 8, 2015<br />
136
+ Build: 6D2102<br />
137
+ SDK: iOS 8.3, OS X v10.10<br />
138
+ <ul class="links small">
139
+ <li class="dmg"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.3.2_GM_seed/Xcode_6.3.2_GM_seed.dmg">Xcode 6.3.2 GM seed</a></li>
140
+ <li class="dmg"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.3.2_GM_seed/Xcode_6.3.2_GM_Seed_Release_Notes.pdf">Xcode 6.3.2 GM seed Release Notes</a></li>
141
+ </ul>
142
+ </p>
143
+ </section>
144
+
145
+ <section class="pre-release divider-top cleared">
146
+ <img class="right padding-right-100" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/128x128/xcode6-beta.png" width="128" height="128" alt="">
147
+ <h3>Xcode 6.4 beta 2</h3>
148
+ <p class="width-45 margin-bottom-12">This is a pre-release version of the complete Xcode developer toolset for Mac, iPhone, iPad, and <span class="nowrap">Apple Watch.</span> This release requires <span class="nowrap">OS X Yosemite.</span>
149
+ </p>
150
+ <p class="width-45 margin-bottom-12">
151
+ Released: Apr 27, 2015<br />
152
+ Build: 6E14<br />
153
+ SDK: iOS 8.4 beta 2, OS X v10.10<br />
154
+ <ul class="links small">
155
+ <li class="dmg"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg">Download Xcode 6.4 beta 2</a></li>
156
+ <li class="document"><a href="/devcenter/download.action?path=/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2_Release_Notes.pdf">Xcode 6.4 beta 2 Release Notes</a></li>
157
+ </ul>
158
+ </p>
159
+ </section>
160
+
161
+
162
+ <section class="related padding-top-40 divider-top">
163
+ <h2>Related Downloads and Resources</h2>
164
+
165
+ <div class="padding-top-30">
166
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/downloads.png" width="64" height="64" alt="">
167
+ <h3>Additional Tools</h3>
168
+ <p>Sign in with your Apple ID to download previous versions of Xcode or additional tools from the developer downloads site. <a class="arrow arrow-right" href="/downloads/">View downloads</a></p>
169
+ </div>
170
+
171
+ <div class="padding-top-20">
172
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/videos.png" width="64" height="64" alt="">
173
+ <h3>Videos</h3>
174
+ <p>Watch and learn from Apple engineers as they show how to bring the best of Apple technologies to your apps. <a class="arrow arrow-right" href="/videos/">Watch videos</a></p>
175
+ </div>
176
+
177
+ <div class="padding-top-20">
178
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/library.png" width="64" height="64" alt="">
179
+ <h3>Guides and Tutorials</h3>
180
+ <p>Find a comprehensive set of programming guides, reference, and sample code for developing with the latest tools and technologies on iOS and OS X.<br /><a class="arrow arrow-right" href="/library/ios/navigation/#section=Topics&topic=Xcode">Read documentation</a></p>
181
+ </div>
182
+
183
+ <div class="padding-top-20">
184
+ <img class="left" src="https://devimages.apple.com.edgekey.net/assets/elements/icons/64x64/forum.png" width="64" height="64" alt="">
185
+ <h3>Forums</h3>
186
+ <p>Post questions and share comments about using Xcode with fellow developers.<br /><a class="arrow arrow-right" href="/devforums/">Join conversations</a></p>
187
+ </div>
188
+ </section>
189
+ </div>
190
+ </div><!-- /content -->
191
+
192
+ <div id="globalfooter">
193
+ <div id="breadory">
194
+ <ol id="breadcrumbs">
195
+ <li class="home"><a href="/">Developer</a></li>
196
+ <li><a href="/xcode/">Xcode</a></li>
197
+ <li>Downloads</li>
198
+ </ol>
199
+ <div id="directorynav" class="ipoditunes">
200
+ <div id="dn-cola" class="column first">
201
+ <h3><a href="/technologies/">What's New</a></h3>
202
+ <ul>
203
+ <li><a href="/ios8/">iOS 8</a></li>
204
+ <li><a href="/osx/whats-new/">OS X Yosemite</a></li>
205
+ <li><a href="/swift/">Swift</a></li>
206
+ <li><a href="/xcode/">Xcode 6</a></li>
207
+ </ul>
208
+ </div><!--/dn-cola-->
209
+ <div id="dn-colb" class="column">
210
+ <h3><a href="/resources/">Resources</a></h3>
211
+ <ul>
212
+ <li><a href="/devcenter/ios/index.action">iOS Dev Center</a></li>
213
+ <li><a href="/devcenter/mac/index.action">Mac Dev Center</a></li>
214
+ <li><a href="/devcenter/safari/index.action">Safari Dev Center</a></li>
215
+ <li><a href="/app-store/">App Store</a></li>
216
+ <li><a href="/iad/">iAd</a></li>
217
+ <li><a href="/icloud/">iCloud</a></li>
218
+ </ul>
219
+ </div><!--/dn-colb-->
220
+ <div id="dn-colc" class="column">
221
+ <h3 class="empty">&nbsp;</h3>
222
+ <ul>
223
+ <li><a href="/devforums/">Forums</a></li>
224
+ <li><a href="/videos/">Videos</a></li>
225
+ <li><a href="/softwarelicensing/">Licensing and Trademarks</a></li>
226
+ <li><a href="/hardwaredrivers/">Hardware and Drivers</a></li>
227
+ <li><a href="/resources/cases/">iPod, iPhone, and iPad Cases</a></li>
228
+ <li><a href="/opensource/">Open Source</a></li>
229
+ </ul>
230
+ </div><!--/dn-colc-->
231
+ <div id="dn-cold" class="column">
232
+ <h3><a href="/programs/">Programs</a></h3>
233
+ <ul>
234
+ <li><a href="/programs/ios/">iOS Developer Program</a></li>
235
+ <li><a href="/programs/ios/enterprise/">iOS Developer Enterprise Program</a></li>
236
+ <li><a href="/programs/ios/university/">iOS Developer University Program</a></li>
237
+ <li><a href="/programs/mac/">Mac Developer Program</a></li>
238
+ <li><a href="/programs/safari/">Safari Developer Program</a></li>
239
+ <li><a href="/programs/mfi/">MFi Program</a></li>
240
+ </ul>
241
+ </div><!--/dn-cold-->
242
+ <div id="dn-cole" class="column last">
243
+ <h3><a href="/support/">Support</a></h3>
244
+ <ul>
245
+ <li><a href="/support/ios/">iOS Developer Program</a></li>
246
+ <li><a href="/support/mac/">Mac Developer Program</a></li>
247
+ <li><a href="/support/safari/">Safari Developer Program</a></li>
248
+ <li><a href="/support/appstore/">App Store</a></li>
249
+ <li><a href="/support/resources/itunes-connect.html">iTunes Connect</a></li>
250
+ <li><a href="/support/technical/">Technical Support</a></li>
251
+ </ul>
252
+ </div><!--/dn-cole-->
253
+ <div class="capbottom"></div>
254
+ </div><!--/directorynav-->
255
+ </div><!--/breadory-->
256
+ <p class="gf-buy">Shop the <a href="http://www.apple.com/store/">Apple Online Store</a> (1-800-MY-APPLE), visit an <a href="http://www.apple.com/retail/">Apple Retail Store</a>, or find a <a href="http://www.apple.com/buy/locator/">reseller</a>.</p>
257
+ <ul class="gf-links piped">
258
+ <li><a href="/news/" class="first">News</a></li>
259
+ <li><a href="/register/">Register</a></li>
260
+ <li><a href="/bug-reporting/">Report Bugs</a></li>
261
+ <li><a href="/contact/">Contact Us</a></li>
262
+ </ul>
263
+ <div class="gf-sosumi">
264
+ <p>Copyright © 2015 Apple Inc. All rights reserved.</p>
265
+ <ul class="piped">
266
+ <li><a href="http://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a></li>
267
+ <li><a href="http://www.apple.com/privacy/">Privacy Policy</a></li>
268
+ </ul>
269
+ </div>
270
+ <div id="localization-links">
271
+ <ul>
272
+ <li><a href="/cn/" title="Simplified Chinese">简体中文</a></li>
273
+ <li><a href="/jp/" title="Japanese">日本語</a></li>
274
+ <li><a href="/kr/" title="Korean">한국어</a></li>
275
+ </ul>
276
+ </div>
277
+ </div><!--/globalfooter-->
278
+ </body>
279
+ </html>
@@ -0,0 +1,43 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module XcodeInstall
4
+ describe Installer do
5
+ def fixture(date)
6
+ Nokogiri::HTML.parse(File.read("spec/fixtures/devcenter/xcode-#{date}.html"))
7
+ end
8
+
9
+ def parse_prereleases(date)
10
+ fixture = fixture(date)
11
+ Nokogiri::HTML.stubs(:parse).returns(fixture)
12
+
13
+ installer = Installer.new
14
+ installer.prereleases
15
+ end
16
+
17
+ before do
18
+ devcenter = mock()
19
+ devcenter.stubs(:download_file).returns(nil)
20
+ Installer.any_instance.stubs(:devcenter).returns(devcenter)
21
+ end
22
+
23
+ it 'can parse prereleases from 20150414' do
24
+ prereleases = parse_prereleases('20150414')
25
+
26
+ prereleases.should == [Xcode.new_prelease('6.4', '/Developer_Tools/Xcode_6.4_Beta/Xcode_6.4_beta.dmg')]
27
+ end
28
+
29
+ it 'can parse prereleases from 20150427' do
30
+ prereleases = parse_prereleases('20150427')
31
+
32
+ prereleases.should == [Xcode.new_prelease('6.4 beta 2', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg')]
33
+ end
34
+
35
+ it 'can parse prereleases from 20150508' do
36
+ prereleases = parse_prereleases('20150508')
37
+
38
+ prereleases.count.should == 2
39
+ prereleases.first.should == Xcode.new_prelease('6.3.2 GM seed', '/Developer_Tools/Xcode_6.3.2_GM_seed/Xcode_6.3.2_GM_seed.dmg')
40
+ prereleases.last.should == Xcode.new_prelease('6.4 beta 2', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg')
41
+ end
42
+ end
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcode-install
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boris Bügling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-26 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -104,12 +104,16 @@ files:
104
104
  - lib/xcode/install/uninstall.rb
105
105
  - lib/xcode/install/update.rb
106
106
  - lib/xcode/install/version.rb
107
+ - spec/fixtures/devcenter/xcode-20150414.html
108
+ - spec/fixtures/devcenter/xcode-20150427.html
109
+ - spec/fixtures/devcenter/xcode-20150508.html
107
110
  - spec/fixtures/xcode.json
108
111
  - spec/fixtures/xcode_63.json
109
112
  - spec/fixtures/yolo.json
110
113
  - spec/install_spec.rb
111
114
  - spec/installed_spec.rb
112
115
  - spec/json_spec.rb
116
+ - spec/prerelease_spec.rb
113
117
  - spec/spec_helper.rb
114
118
  - xcode-install.gemspec
115
119
  homepage: https://github.com/neonichu/xcode-install
@@ -137,11 +141,15 @@ signing_key:
137
141
  specification_version: 4
138
142
  summary: Xcode installation manager.
139
143
  test_files:
144
+ - spec/fixtures/devcenter/xcode-20150414.html
145
+ - spec/fixtures/devcenter/xcode-20150427.html
146
+ - spec/fixtures/devcenter/xcode-20150508.html
140
147
  - spec/fixtures/xcode.json
141
148
  - spec/fixtures/xcode_63.json
142
149
  - spec/fixtures/yolo.json
143
150
  - spec/install_spec.rb
144
151
  - spec/installed_spec.rb
145
152
  - spec/json_spec.rb
153
+ - spec/prerelease_spec.rb
146
154
  - spec/spec_helper.rb
147
155
  has_rdoc: