Xcode是蘋果公司向開發人員提供的整合開發環境,用於開發macOS、iOS、iPadOS、watchOS、tvOS和visionOS的應用程式。
概述
Xcode前身是繼承自NeXT的Project Builder。
The Xcode suite包含有GNU Compiler Collection自由軟件(GCC、LLVM(預設是後者)),並支援C語言、C++、Fortran、Objective-C、Objective-C++、Java、AppleScript、Python、Ruby和Swift,還提供Cocoa、Carbon以及Java等編程模式。協力廠商更提供了GNU Pascal,[3]Free Pascal[4]、Ada[5]、C#[6]、Perl[7]、Haskell[8]和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 14.2(每年的WWDC發佈大版本更新),支援iOS 14和watchOS 7的開發。同樣,可在Mac App Store上免費下載。
版本歷史
已停產 | 目前版本 | Beta測試版本 |
版本歷史 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | 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) |
版本歷史 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | 最低iOS部署目標 | 支援iOS手臂 | 可下載的模擬器iOS版本 |
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[9] | iOS 3.1.3(7E18)或以下[9] + 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[10] | iOS 3.2(7B367)+ each down to iOS 3.0 | iOS 3.0 | armv6, armv7 | ||
3.2.3 | 2010年6月22日 | 10.6.4[11][12][13] | iOS 4.0.x[14] + 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[15][16] | 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日[17] | 10.6.7[18][19] and 10.7 | OS X Snow Leopard(10.6.x)及OS X Lion(10.7.x) | - | |||
4.1.1 | 2011年8月4日[20] | |||||||
4.2 | 4D199 (10.7) 4C199(10.6) | 2011年10月12日 | iOS 5.0(9A334) | downloadable: iOS 4.3.2 (8H7)[21] | ||||
4.2.1 | 4D502 | 2011年11月18日 | 10.7[22][23] | |||||
4.3 | 4E109 | 2012年2月16日 | 10.7.3[24][25] | |||||
4.3.1 | 4E1019 | 2012年3月7日 | iOS 5.1(9B176) | downloadable: iOS 5.0 + only for OS X 10.7:[26] 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[27][28] | 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[29] | 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 | 最低iOS部署目標 | 支援iOS手臂 | 可下載的模擬器iOS版本 |
版本歷史 | ||||||||
---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X上執行的版本 | OS X SDK(s) | 包括iOS SDK | 最低iOS部署目標 | 支援iOS手臂 | 可下載的模擬器iOS版本 |
5.0 | 5A1413 | 2013年9月18日 | 10.8.4[30][31] | OS X v10.8 | iOS 7.0 (11A465) | iOS 4.3 or iOS 6.0 (for arch with arm64)[32] | armv7, armv7s, arm64 | iOS 6.1 + iOS 6.0 + only for OS X 10.8:[33] 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)[34] | |||
5.0.2 | 5A3005 | 2013年11月12日 | ||||||
5.1 | 5B130a | 2014年3月10日 | iOS 7.1 (11D167) | iOS 7.0 + iOS 6.1[35][36] | ||||
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:[37] armv7s |
iOS 7.1 + only for OS X 10.9[38] iOS 7.0 | |
6.1 | 6A1052c 6A1052d | 2014年10月16日[39] 2014年10月20日[40] |
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上執行的版本[41] | OS X SDK(s) | 包括iOS SDK | 最低iOS部署目標 | 支援iOS手臂 | 可下載的模擬器iOS版本 |
版本歷史 | |||||||||
---|---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | 可於 OS X執行的版本 | macOS 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 | |||
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 + 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 + watchOS 2.1 | |
7.3.1 | 7D1012[39] 7D1014[40] | 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 + watchOS 2.2 | |
8.1 | 8B62 | 2016年10月27日 | macOS Sierra 10.12.1 (16B2649) | iOS 10.1 (14B72) | watchOS 3.1 (14S471a) | 增加iOS 10.0 (並沒有提供watchOS 3.0) | |||
8.2 | 8C38 | 2016年12月12日 | macOS Sierra 10.12.2 (16C58) | iOS 10.2 (14C89) | tvOS 10.1 (14U591) | 增加iOS 10.1 + tvOS 10.0 | |||
8.2.1 | 8C1002 | 2016年12月19日 | |||||||
8.3 | 8E162 | 2017年3月27日 | 10.12 | 10.12.4 (16E185) | iOS 10.3 (14E269) | watchOS 3.2 (14V243) | tvOS 10.2 (14W260) | 新增 iOS 10.2 + tvOS 10.1 (並沒有提供 watchOS 3.1) | |
8.3.1 | 8E1000a | 2017年4月6日 | |||||||
8.3.2 | 8E2002 | 2017年4月18日 | |||||||
8.3.3 | 8E3004b | 2017年6月5日 | iOS 10.3.1 (14E8301) | 新增 watchOS 3.1 Simulator | |||||
9.0 | 9A235 | 2017年9月19日 | 10.12.6 | 10.13 (17A360) | iOS 11.0 (15A372) | watchOS 4.0 (15R372) | tvOS 11.0 (15J380) | 新增 iOS 10.3.1 + tvOS 10.2 + watchOS 3.2 | |
9.0.1 | 9A1004 | 2017年10月15日 | |||||||
9.1 | 9B55 | 2017年10月31日 | 10.13.1 (17B48) | iOS 11.1 (15B93/15B101) | watchOS 4.1 (15R846) | tvOS 11.1 (15J582) | 新增 iOS 11.0 + tvOS 11 + watchOS 4.0 | ||
9.2 | 9C40b | 2017年12月4日 | 10.13.2 (17C76) | iOS 11.2 (15C107) | watchOS 4.2 (15S100) | tvOS 11.2 (15K104) | 新增 iOS 11.1 + tvOS 11.1 + watchOS 4.1 | ||
9.3 | 9E145 | 2018年3月29日 | 10.13.2 | 10.13.4 (17E189) | iOS 11.3 (15E217) | watchOS 4.3 (15T212) | tvOS 11.3 (15L211) | 新增 iOS 11.2 + tvOS 11.2 + watchOS 4.2 | |
9.3.1 | 9E501 | 2018年5月9日 | |||||||
9.4 | 9F1027a | 2018年5月29日 | iOS 11.4 (15F5037c) | tvOS 11.4 (15L565) | 新增 iOS 11.3 + tvOS 11.3 | ||||
9.41 | 9F2000 | 2018年6月13日 | |||||||
10.0 | 10A255 | 2018年9月17日 | 10.13.6 | 10.14 (18A384) | iOS 12.0 (16A366) | watchOS 5.0 (16R363) | tvOS 12.0 (16J364) | 新增 iOS 11.4 + tvOS 11.4 + watchOS 4.3 | |
10.1 | 10B61 | 2018年10月30日 | 10.14.1 (18B71) | iOS 12.1 (16B91) | watchOS 5.1 (16R591) | tvOS 12.1 (16J602) | 新增 iOS 12.0 + tvOS 12.0 + watchOS 5.0 | ||
10.2 | 10E125 | 2019年3月25日 | 10.14.3 | 10.14.4 (18E219) | iOS 12.2 (16E226) | watchOS 5.2 (16T224) | tvOS 12.2 (16L225) | 新增 iOS 12.1 + tvOS 12.1 + watchOS 5.1 | |
10.2.1 | 10E1001 | 2019年4月17日 | |||||||
10.3 | 10G8 | 2019年7月22日 | 10.14.3[42] | 10.14.6 (18G74) | iOS 12.4 (16G73) | watchOS 5.3 (16U567) | tvOS 12.4 (16M567) | added iOS 12.2 + tvOS 12.2 + watchOS 5.2 | |
版本 | Build | 釋出日期 | 可於 OS X執行的版本[43] | macOS SDK(s)[44] | 包括iOS SDK[45] | 包括watchOS SDK[46] | 包括tvOS SDK[47] | 可下載的模擬器iOS版本[48] | 註釋 |
版本歷史 | |||||||||
---|---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | macOS上的最低版本[49] | macOS SDK(s)[50] | 包括iOS SDK [51] | 包括watchOS SDK [52] | 包括tvOS SDK [53] | 註釋 | |
11.0 | 11A420a | 2019年9月20日 | 10.14.4 | 10.15 (19A547) | iOS 13.0 (17A566) | watchOS 6.0 (17R566) | tvOS 13.0 (17J559) | [55] | |
11.1 | 11A1027 | 2019年10月7日 | iOS 13.1 (17A820) | [56] | |||||
11.2 | 11B52 | 2019年10月31日 | 10.15.1 (19B81) | iOS 13.2 (17B80) | watchOS 6.1 (17S80) | tvOS 13.2 (17K81) | [57] | ||
11.2.1 | 11B500 | 2019年11月12日 | 10.15.1 (19B89) | iOS 13.2 (17B102) | tvOS 13.2 (17K90) | [58][59] | |||
11.3 | 11C29 | 2019年12月10日 | 10.15.2 (19B90) | [60][59] | |||||
11.3.1 | 11C505 | 2020年1月13日 | [61][59] | ||||||
11.4 | 11E146 | 2020年3月24日 | 10.15.2 | 10.15.4 (19E258) | iOS 13.4 (17E255) | watchOS 6.2 (17T255) | tvOS 13.4 (17L255) | [62][59] | |
11.4.1 | 11E503a | 2020年4月15日 | iOS 13.4 (17E8258) | [63][59] | |||||
11.5 | 11E608c | 2020年5月20日 | iOS 13.5 (17F65) | [64][59] | |||||
11.6 | 11E708 | 2020年7月15日 | 10.15.6 (19G68) | iOS 13.6 (17G64) | [65][59] | ||||
11.7 | 11E801a | 2020年9月1日 | iOS 13.7 (17H22) | [66][59] | |||||
12.0 | 12A7209 | 2020年9月16日 | 10.15.4 (Intel-based Mac) 11.0 (Apple silicon Mac) |
iOS 14 (18A390) | watchOS 7 (18R382) | tvOS 14 (18J390) | [67][59] | ||
12.0.1 | 12A7300 | 2020年9月24日 | [68][59] | ||||||
12.1 | 12A7403 | 2020年10月20日 | iOS 14.1 (18A8394) | [69][59] | |||||
12.1.1 RC | 12A7605b | 2020年10月30日 | iOS 14.2 (18B79) | watchOS 7.1 (18R579) | tvOS 14.2 (18K54) | [70][59] | |||
12.2 | 12B45b | 2020年11月12日 | 11.0 (20A2408) | [71][59] | |||||
12.3 | 12C33 | 2020年12月14日 | 11.1 (20C63) | iOS 14.3 (18C61) | watchOS 7.2 (18S561) | tvOS 14.3 (18K559) | [72][59] | ||
12.4 | 12D4e | 2021年1月26日 | iOS 14.4 (18D46) | [73][59] | |||||
12.5 | 12E262 | 2021年4月26日 | 11.0 | 11.3 (20E214) | iOS 14.5 (18E182) | watchOS 7.4 (18T187) | tvOS 14.5 (18L191) | [74][59] | |
12.5.1 | 12E507 | 2021年6月21日 | [75][59] | ||||||
13.0 | 13A233 | 2021年9月20日 | 11.3 | iOS 15.0 (19A339) | watchOS 8.0 (19R341) | tvOS 15.0 (19J344) | [76][59] | ||
13.1 | 13A1030d | 2021年10月25日 | 12.0 (21A344) | watchOS 8.0.1 (19R351) | [77][59] | ||||
13.2 | 13C90 | 2021年12月13日 | 12.1 (21C46) | iOS 15.2 (19C51) | watchOS 8.3 (19S51) | tvOS 15.2 (19K50) | [78][59] | ||
13.2.1 | 13C100 | 2021年12月17日 | [79][59] | ||||||
13.3 | 13E113 | 2022年3月14日 | 12.0 | 12.3 (21E226) | iOS 15.4 (19E239) | watchOS 8.5 (19T241) | tvOS 15.4 (19L439) | [80][59] | |
13.3.1 | 13E500a | 2022年4月11日 | [81][59] | ||||||
13.4 | 13F17a | 2022年5月16日 | iOS 15.5 (19F64) | [82][59] | |||||
13.4.1 | 13F100 | 2022年6月2日 | [83][59] | ||||||
14.0 | 14A309 | 2022年9月12日 | 12.5 | iOS 16.0 (20A360) | watchOS 9.0 (20R362) | tvOS 16.0 (20J373) | [84][59] | ||
14.0.1 | 14A400 | 2022年9月26日 | [85][59] | ||||||
14.1 | 14B47b | 2022年11月1日 | 13.0 (22A372) | iOS 16.1 (20B71) | watchOS 9.1 (20S71) | tvOS 16.1 (20K67) | [86][59] | ||
14.2 | 14C18 | 2022年12月13日 | 13.1 (22C55) | iOS 16.2 (20C52) | [87][59] | ||||
14.3 | 14E222b | 2023年3月30日 | 13.0 | 13.3 (22E245) | iOS 16.4 (20E238) | watchOS 9.4 (20T248) | tvOS 16.4 (20L489) | [88][59] | |
14.3.1 | 14E300c | June 1, 2023年6月1日 | [89][59] | ||||||
版本 | Build | 釋出日期 | macOS上的最低版本[49] | macOS SDK(s)[50] | 包括iOS SDK[51] | 包括watchOS SDK[52] | 包括tvOS SDK[53] | 註釋 |
版本歷史 | |||||||||
---|---|---|---|---|---|---|---|---|---|
版本 | Build | 釋出日期 | macOS上的最低版本[49][90] | macOS SDK(s)[50][90] | 包括iOS SDK[51][90] | 包括watchOS[52][90] | 包括tvOS[53][90] | 包括visionOS[91][90] | 註釋 |
15.0 | 15A240d | 2023年9月18日 | 13.5 | 14.0 (23A334) | iOS 17.0 (21A325) | watchOS 10.0 (21R354) | tvOS 17.0 (21J351) | [92][59] | |
15.0.1 | 15A507 | 2023年10月18日 | 13.5 | 14.0 (23A334) | iOS 17.0 (21A325) | watchOS 10.0 (21R354) | tvOS 17.0 (21J351) | ||
版本 | Build | 釋出日期 | macOS上的最低版本[49][90] | macOS SDK(s)[50][90] | 包括iOS SDK[51][90] | 包括watchOS[52][90] | 包括tvOS[53][90] | 包括visionOS[91][90] | 註釋 |
事故
在2015年9月18日,有人發佈訊息稱發現由某第三方提供的Xcode(即XcodeGhost)包含惡意後門,會使其編譯的程式被注入相應的後門用於收集相關使用訊息,多個中國大陸發佈的軟件被該編譯器感染。[93][94]有人推測傳染方式可能是其作者通過多種社交途徑推廣其發佈的第三方Xcode;[94]也有人分析通過污染迅雷的離線下載服務使其快取了染毒版本檔案,使只要通過迅雷下載,即使是從官方途徑下載也會因為迅雷的CDN機制而染毒。[95]
之後所感染的軟件開發者和其他蘋果應用開發者相繼排查並重新發佈無污染版本。迅雷表示其CDN系統的快取檔案無被污染。[95]其事件作者也發表聲明稱此次為一次錯誤的實驗。[96][97]
根據斯諾登(Edward Snowden)揭露檔案,美國中情局(CIA)在2012年已有類似攻擊手法,即可以透過偽冒Xcode,用來監控所有使用該偽冒開發工具所開發的App及後續的修改版本,而這套偽冒開發工具所開發的App,可以在蘋果公司的官方App Store上架並販售,且不會被任何人員發覺有異常之處。[98]
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.