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 +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:
|