Xcode

File:Xcode 6 icon.png | |
File:Xcode 3.2 project window.png 运行于Mac OS X 10.6上的Xcode 3.2 | |
開發者 | 苹果公司 |
---|---|
当前版本 |
|
操作系统 | Mac OS X 10.3(版本1.x) Mac OS X 10.4(版本2.x) |
类型 | 集成开发环境 |
许可协议 | 专有软件 |
网站 | Apple - Xcode |
Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS、iOS、WatchOS和tvOS的应用程序。
概述
Xcode前身是继承自NeXT的Project Builder。
The Xcode suite包含有GNU Compiler Collection自由軟體(GCC、apple-darwin9-gcc-4.0.1以及apple-darwin9-gcc-4.2.1,默认的是後者),並支援C語言、C++、Fortran、Objective-C、Objective-C++、Java、AppleScript、Python、Ruby和Swift,還提供Cocoa、Carbon以及Java等编程模式。協力廠商更提供了GNU Pascal,[2]Free Pascal[3], Ada[4], C#[5], Perl[6], Haskell[7]和D語言。Xcode套件使用GDB作为其后台调试工具。
从Xcode 3.1開始附帶iOS SDK,作为iOS的开发环境。
Xcode 4.0于2011年3月9日正式发行。该版本非Apple开发者注册会员亦能从Mac App Store中付费下载,收取US$4.99的费用。
從Xcode 4.1開始,Mac OS X v10.6和Mac OS X v10.7的使用者可以從Mac App Store中免費下載。
Xcode最新的版本是Xcode 8(2016年WWDC發布),兼容在OS X El Capitan(OS X 10.11),支持iOS 10和WatchOS 3的开发。同样,可在Mac App Store上免费下载。
版本歷史
Xcode 1.0 - Xcode 2.x(支援 iOS 之前)
版本歷程 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於OS X上執行的版本 | OS X SDK(s) | ||||
1.0 |
2003年9月28日 | OS X Panther(10.3.x) | OS X Puma(10.1.x)、OS X Jaguar(10.2.x)及OS X Panther(10.3.x) | |||||
1.1 |
2003年12月19日 | |||||||
1.2 |
2004年4月22日 | |||||||
1.5 |
2004年8月4日 | |||||||
2.0 |
2005年4月29日 | OS X Tiger(10.4.x) | OS X Jaguar(10.2.x)、OS X Panther (10.3.x)及OS X Tiger(10.4.x) | |||||
2.1 |
2005年6月6日 | |||||||
2.2 |
2005年11月10日 | |||||||
2.2.1 |
2006年1月13日 | |||||||
2.3 |
2006年5月23日 | |||||||
2.4 |
2006年8月17日 | |||||||
2.4.1 |
2006年10月31日 | |||||||
2.5 |
2007年10月30日 | OS X Tiger(10.4.x)及OS X Leopard(10.5.x) | ||||||
版本 | Build | 釋出日期 | 可於OS X上執行的版本 | OS X SDK(s) |
Xcode 3.0 - Xcode 4.x
版本歷程 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | Min iOS Deployment Target | 支援iOS手臂 | additional iOS Simulators |
3.0 |
2007年10月26日 | 10.5.x | OS X Panther(10.3.x)、OS X Tiger(10.4.x)及OS X Leopard(10.5.x) | iOS 2.x + each down to iOS 2.0 | iOS 2.0 | armv6 | - | |
3.1 |
2008年8月2日 | |||||||
3.1.1 |
2008年10月17日 | |||||||
3.1.2 |
2008年11月23日 | |||||||
3.1.3 |
2009年6月17日 | 10.5.7[8] | iOS 3.1.3(7E18)或以下[8] + each down to iOS 2.0 | armv6 + for iOS 3.x: armv7 | ||||
3.1.4 |
1203 | 2009年7月15日 | ||||||
3.2 |
2009年8月28日 | 10.6.0 | OS X Tiger(10.4.x)、 OS X Leopard(10.5.x)及OS X Snow Leopard(10.6.x) | |||||
3.2.1 |
2009年10月9日 | |||||||
3.2.2 |
1650 | 2010年4月3日 | 10.6.2[9] | iOS 3.2(7B367)+ each down to iOS 3.0 | iOS 3.0 | armv6, armv7 | ||
3.2.3 |
2010年6月22日 | 10.6.4[10][11][12] | iOS 4.0.x[13] + iOS 3.2 | |||||
3.2.4 |
2010年9月8日 | iOS 4.1 + iOS 3.2 | iOS 4.0.2 (8A400) | |||||
3.2.5 |
1760 | 2010年10月14日 | iOS 4.2 (8C134) | iOS 4.1(8B117)+ iOS 4.0.2(8A400)+ iOS 3.2(7W367a) | ||||
3.2.6 |
1761 | 2011年2月14日 | 10.6.6[14][15] | iOS 4.3 (8F190) | iOS 4.2(8C134)+ iOS 4.1(8B117)+ iOS 4.0.2(8A400)+ iOS 3.2(7W367a) | |||
4.0 |
4A304a | 2011年3月14日 | OS X Snow Leopard(10.6.x) | |||||
4.0.1 |
4A1006 | 2011年3月25日 | ||||||
4.0.2 |
4A2002a | 2011年4月11日 | iOS 4.3.2(8H7) | |||||
4.1 |
4B110 (10.7) 4B110f(10.6) | 2011年7月20日[16] | 10.6.7[17][18] and 10.7 | OS X Snow Leopard(10.6.x)及OS X Lion(10.7.x) | - | |||
4.1.1 |
2011年8月4日[19] | |||||||
4.2 |
4D199 (10.7) 4C199(10.6) | 2011年10月12日 | iOS 5.0(9A334) | downloadable: iOS 4.3.2 (8H7)[20] | ||||
4.2.1 |
4D502 | 2011年11月18日 | 10.7[21][22] | |||||
4.3 |
4E109 | 2012年2月16日 | 10.7.3[23][24] | |||||
4.3.1 |
4E1019 | 2012年3月7日 | iOS 5.1(9B176) | downloadable: iOS 5.0 + only for OS X 10.7:[25] iOS 4.3 | ||||
4.3.2 |
4E2002 | 2012年3月22日 | ||||||
4.3.3 |
4E3002 | 2012年5月9日 | ||||||
4.4 |
2012年7月25日 | 10.7.4[26][27] | OS X Lion(10.7.x)及OS X Mountain Lion(10.8.x) | |||||
4.4.1 |
4F1003 | 2012年8月7日 | ||||||
4.5 |
2012年9月19日 | iOS 6.0 (10A403) | iOS 4.3[28] | armv7, armv7s | downloadable: iOS 5.1 + iOS 5.0 + only for OS X 10.7: iOS 4.3 | |||
4.5.1 |
2012年10月3日 | |||||||
4.5.2 |
4G2008 | 2012年11月1日 | ||||||
4.6 |
4H127 | 2013年2月20日 | iOS 6.1(10B141) | downloadable: iOS 6.0 + iOS 5.1 + iOS 5.0 + only for OS X 10.7: iOS 4.3 | ||||
4.6.1 |
4H512 | 2013年3月14日 | ||||||
4.6.2 |
4H1003 | 2013年4月15日 | ||||||
4.6.3 |
4H1503 | 2013年6月14日 | ||||||
版本 | Build | 釋出日期 | 可於OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | Min iOS Deployment Target | 支援iOS手臂 | additional iOS Simulators |
Xcode 5.0 - 6.x (支援 arm64 )
版本歷程 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | Min iOS Deployment Target | 支援iOS手臂 | downloadable iOS Simulators |
5.0 |
5A1413 | 2013年9月18日 | 10.8.4[29][30] | OS X v10.8 | iOS 7.0 (11A465) | iOS 4.3 or iOS 6.0 (for arch with arm64)[31] | armv7, armv7s, arm64 | iOS 6.1 + iOS 6.0 + only for OS X 10.8:[32] iOS 5.1 + iOS 5.0 |
5.0.1 |
5A2053 | 2013年10月22日 | OS X v10.8 + OS X v10.9 | iOS 7.0.3 (11B508) | iOS 4.3 or iOS 5.1.1 (for arch with arm64)[33] | |||
5.0.2 |
5A3005 | 2013年11月12日 | ||||||
5.1 |
5B130a | 2014年3月10日 | iOS 7.1 (11D167) | iOS 7.0 + iOS 6.1[34][35] | ||||
5.1.1 |
5B1008 | 2014年4月10日 | iOS 6.1 | |||||
6.0.1 |
6A317 | 2014年9月17日 | 10.9.4 | OS X v10.9 | iOS 8.0 (12A365) | Default: armv7, arm64 Manually:[36] armv7s |
iOS 7.1 + only for OS X 10.9[37] iOS 7.0 | |
6.1 |
6A1052c 6A1052d | 2014年10月16日[38] October 20, 2014[39] | OS X v10.9 + OS X v10.10 | iOS 8.1 (12B411) | ||||
6.1.1 |
6A2008a | 2014年12月2日 | ||||||
6.2 |
6C131e | 2015年3月9日 | iOS 8.2 (12D508) | iOS 8.1 + iOS 7.1 | ||||
6.3 |
6D570 | 2015年4月8日 | 10.10 | OS X v10.10 | iOS 8.3 (12F69) | iOS 8.2 + iOS 8.1 + iOS 7.1 | ||
6.3.1 |
6D1002 | 2015年4月21日 | ||||||
6.3.2 |
6D2105 | 2015年5月18日 | ||||||
6.4 |
6E35b | 2015年6月30日 | iOS 8.4 (12H141) | iOS 8.3 + iOS 8.2 + iOS 8.1 + iOS 7.1 | ||||
版本 | Build | 釋出日期 | 可於 OS X上執行的版本[40] | OS X SDK(s) | 包括iOS SDK | Min iOS Deployment Target | 支援iOS手臂 | downloadable iOS Simulators |
Xcode 7.0 - 8.x (支援Swift 2.0)
版本歷程 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | 包括watchOS SDK | 包括tvOS SDK | 可以下载的模拟器iOS版本 |
7.0 |
7A220 | 2015年9月16日 | 10.10.4 | OS X v10.11 (15A278) | iOS 9 (13A340) | watchOS 2 (13S343) | - | iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 |
7.0.1 |
7A1001 | 2015年9月28日 | ||||||
7.1 |
7B91b | 2015年10月21日 | 10.10.5 | iOS 9.1 (13B137) | tvOS 9.0 (13T393) | iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 | ||
7.1.1 |
7B1005 | 2015年11月9日 | ||||||
7.2 |
7C68 | 2015年12月8日 | OS X v10.11.2 (15C43) | iOS 9.2 (13C75) | watchOS 2.1 (13S660) | tvOS 9.1 (13U78) | iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.0 + watchOS 2.0 | |
7.2.1 |
7C1002 | 2016年2月3日 | tvOS 9.1 (13U79) | |||||
7.3 |
7D175 | 2016年3月21日 | 10.11 | OS X v10.11.4 (15E60) | iOS 9.3 (13E230) | watchOS 2.2 (13V143) | tvOS 9.2 (13Y227) | iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.1 + tvOS 9.0 + watchOS 2.1 + watchOS 2.0 |
7.3.1 |
7D1012[41] 7D1014[42] | 2016年5月3日 | ||||||
8.0 |
8A218a | 2016年9月13日 | 10.11.5 | macOS Sierra 10.12 (16A300) | iOS 10 (14A345) | watchOS 3 (14S326) | tvOS 10.0 (14T328) | iOS 9.3 + iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.2 + + tvOS 9.1 + tvOS 9.0 + watchOS 2.2 + watchOS 2.1 + watchOS 2.0 |
8.1 |
8B62 | 2016年10月27日 | macOS Sierra 10.12.1 (16B2649) | iOS 10.1 (14B72) | watchOS 3.1 (14S471a) | iOS 10.0 + iOS 9.3 + iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.2 + tvOS 9.1 + tvOS 9.0 + watchOS 2.2 + watchOS 2.1 + watchOS 2.0 | ||
8.2 |
8C38 | 2016年12月12日 | macOS Sierra 10.12.2 (16C58) | iOS 10.2 (14C89) | tvOS 10.1 (14U591) | iOS 10.1 + iOS 10.0 + iOS 9.3 + iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 10.0 + tvOS 9.2 + tvOS 9.1 + tvOS 9.0 + watchOS 2.2 + watchOS 2.1 + watchOS 2.0 | ||
8.2.1 |
8C1002 | 2016年12月19日 | ||||||
版本 | Build | 釋出日期 | 可於 OS X上執行的版本[43] | OS X SDK(s)[44] | 包括iOS SDK[45] | 包括watchOS SDK[46] | 包括tvOS SDK[47] | 可以下载的模拟器iOS版本[48] |
已停產 | 目前版本 | Beta測試版本 |
事故
XcodeGhost
在2015年9月18日,有人发布消息称发现由某第三方提供的Xcode(即XcodeGhost)包含恶意后门,会使其编译的程序被注入相应的后门用于收集相关使用信息,多个中国大陆发布的软件被该编译器感染。[49][50]有人推测传染方式可能是其作者通过多种社交途径推广其发布的第三方Xcode;[50]也有人分析通过污染迅雷的离线下载服务使其缓存了染毒版本文件,使只要通过迅雷下载,即使是从官方途径下载也会因为迅雷的CDN机制而染毒。[51]
之后所感染的软件开发者和其他苹果应用开发者相继排查并重新发布无污染版本。迅雷表示其CDN系统的缓存文件无被污染。[51]其事件作者也发表声明称此次为一次错误的实验。[52][53]
根據史諾登(Edward Snowden)揭露文件,美國中情局在2012年前已有類似攻擊手法,即可以透過偽冒Xcode,用來監控所有使用該偽冒開發工具所開發的App及後續的修改版本,而這套偽冒開發工具所開發的App,可以在蘋果App Store上架並販售,且不會被任何人員發覺有異常之處。[54]
参考文献
- ^ https://developer.apple.com/documentation/xcode-release-notes/xcode-16_4-release-notes; 出版日期: 2025年5月27日.
- ^ GNU Pascal and Xcode
- ^ Using Free Pascal with Xcode
- ^ Tools 互联网档案馆的存檔,存档日期2008-12-05.
- ^ CSharpPlugin - cocoa-sharp-dev - Google Code
- ^ CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home
- ^ Haskell Xcode Plugin 互联网档案馆的存檔,存档日期2008-07-23.
- ^ 8.0 8.1 iPhone Software Development: Old versions of iPhone SDK. [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Old versions of iPhone SDK.
There were several releases of Xcode 3.2.3: with iOS 4.0; with iOS 4.0.1; with iOS 4.0.2 SDK
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Xcode. [May 2, 2015]. (原始内容存档于2011年7月30日).
- ^ Unauthorized - Apple Developer (PDF). [2015-05-02].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2011-09-24).
- ^ How to Install Older iOS Simulators in XCode 4.2.1 (SDK5.0). [2015-05-02].
- ^ iphone - Xcode 4.2.1 for Snow Leopard - Stack Overflow. [2015-05-02].
- ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2012-02-02).
- ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2012-02-18).
- ^ Mac App Store - Xcode. Mac App Store. [2015-05-02]. (原始内容存档于2012-07-01).
- ^ iphone - Install Simulator SDK 4.3 to Xcode 4.4 on Mountain Lion - Stack Overflow. [May 2, 2015].
- ^ Unauthorized - Apple Developer (PDF). [May 2, 2015].
- ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2013年7月25日).
- ^ Unauthorized - Apple Developer (PDF). [2015-05-02].
- ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2013年10月10日).
- ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2014年5月30日).
- ^ Xcode 5 and iOS 7: Architecture and Valid architectures.
- ^ ios5 - Use iOS 5 Simulator in XCode 5? - Stack Overflow. [May 2, 2015].
- ^ About 64-Bit Cocoa Touch Apps.
- ^ Install ios 5 simulator to xcode 5.1?. [May 2, 2015].
- ^ iphone - ios 6.0 Simulator in xcode 5.1 - Stack Overflow. [May 2, 2015].
- ^ ios - Xcode 6 Standard architectures exclude armv7s - Stack Overflow. [May 2, 2015].
- ^ xcode - iOS 6.1 simulator on OSX 10.10 Yosemite - Stack Overflow. [May 2, 2015].
- ^ Developer Portal version
- ^ MAS version
- ^ LSMinimumSystemVersion from Info.plist
- ^ Developer Portal version
- ^ MAS version
- ^ plutil -p Xcode.app/Contents/Info.plist | grep LSMinimumSystemVersion
- ^ cd Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/; plutil -p */System/Library/CoreServices/SystemVersion.plist
- ^ ls Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ | grep '(.*)'
- ^ ls Xcode.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport/ | grep '(.*)'
- ^ ls Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport/ | grep '(.*)'
- ^ from preferences -> downloads
- ^ iOS开发工具Xcode遭恶意代码插入 网易云音乐等APP被感染. 网易数码. 2015-09-18. (原始内容存档于2015-09-25).
- ^ 50.0 50.1 关于Xcode自带病毒事件你必须要知道的7件事. 网易数码. 2015-09-18.
- ^ 51.0 51.1 驱动之家. 迅雷:离线服务器并未受问题Xcode版本影响-搜狐科技. 搜狐. 2015-09-19.
- ^ 冰冰. XcodeGhost作者现身澄清:只是一次错误的实验. 驱动之家. 2015-09-19.
- ^ XcodeGhost作者凌晨现身微博并公开源码 称只是实验项目. 网易数码. 2015-09-19.
- ^ 黃彥棻. XcodeGhost風暴事件大剖析. 電週文化事業. 2015-10-13.