xcode-install 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/xcode/install/install.rb +2 -0
- data/lib/xcode/install/version.rb +1 -1
- data/lib/xcode/install.rb +13 -2
- data/spec/fixtures/devcenter/xcode-20150414.html +263 -0
- data/spec/fixtures/devcenter/xcode-20150427.html +263 -0
- data/spec/fixtures/devcenter/xcode-20150508.html +279 -0
- data/spec/prerelease_spec.rb +43 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07bf6a5e12986899c2838cfaa033a800cd926f3b
|
4
|
+
data.tar.gz: 4ad83829d78ba4f4e5f7519ff150c4ac9958298e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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/
|
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
|
|
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
|
-
|
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"> </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"> </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"> </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.
|
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-
|
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:
|