Xcode

Xcode蘋果公司向開發人員提供的集成開發環境,用於開發macOSiOSiPadOSWatchOStvOS的應用程序。

Xcode
運行於Mac OS X 10.6上的Xcode 3.2
開發者蘋果公司
穩定版本11.4.1 (11E503a)(2020年4月15日2020-04-15[±]
預覽版本11.0 beta 2 (11M337n)(2019年6月17日2019-06-17[±]
操作系统Mac OS X 10.3(版本1.x)

Mac OS X 10.4(版本2.x)
Mac OS X 10.5(版本2.5、3.0及3.1)
Mac OS X 10.6(版本3.2、4.0、4.1及4.2)
OS X 10.7(版本4.1、4.2、4.3、4 4、4.5及4.6)
OS X 10.8(版本4.4、4.5及4.6)
OS X 10.8.4(版本5.0及5.1) OS X 10.9(版本5.x、6.0、6.1及6.2) OS X 10.10(版本6.x、7.x)
OS X 10.11(版本7.x、8.x)

macOS 10.12(版本8.x)
类型集成開發環境
许可协议專有軟件
网站Apple - Xcode

概述

Xcode前身是繼承自NeXTProject Builder

The Xcode suite包含有GNU Compiler Collection自由軟體(GCC、apple-darwin9-gcc-4.0.1以及apple-darwin9-gcc-4.2.1,默認的是後者),並支援C語言C++FortranObjective-CObjective-C++JavaAppleScriptPythonRubySwift,還提供CocoaCarbon以及Java等編程模式。協力廠商更提供了GNU Pascal[1]Free Pascal[2], Ada[3], C#[4], Perl[5], Haskell[6]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.6Mac OS X v10.7的使用者可以從Mac App Store中免費下載。

Xcode最新的版本是Xcode 11(2019 年 WWDC發布),支持iOS 13和watchOS 6的開發。同樣,可在Mac App Store上免費下載。

版本歷史

Xcode 1.0 - Xcode 2.x(支援 iOS 之前)

Xcode 3.0 - Xcode 4.x

Xcode 5.0 - 6.x (支援 arm64 )

Xcode 7.0 - 10.x (開放免費部署至實體裝置)

版本歷程
版本 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[40] 7D1014[41] 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 日

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

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 日
版本 Build 釋出日期 可於 OS X上執行的版本[42] OS X SDK(s)[43] 包括iOS SDK[44] 包括watchOS SDK[45] 包括tvOS SDK[46] 可以下載的模擬器 iOS 版本[47]

Xcode 11.x (開放SwiftUI框架)

版本歷程
版本 Build 釋出日期 可於 OS X上執行的版本[48] macOS SDK(s)[49] 包括iOS SDK [50] 包括watchOS SDK [51] 包括tvOS SDK [52] Notes

11.0

11A420a September 20, 2019 10.14.4 10.15 (19A547) iOS 13.0 (17A566) watchOS 6.0 (17R566) tvOS 13.0 (17J559) [54]

11.1

11A1027 October 7, 2019 iOS 13.1 (17A820) [55]

11.2

11B52 October 31, 2019 10.15.1 (19B81) iOS 13.2 (17B80) watchOS 6.1 (17S80) tvOS 13.2 (17K81) [56]

11.2.1

11B500 November 12, 2019 10.15.1 (19B89) iOS 13.2 (17B102) tvOS 13.2 (17K90) [57][58]

11.3

11C29 December 10, 2019 10.15.2 (19B90) [59][58]

11.3.1

11C505 January 13, 2020 [60][58]

11.4 beta 3

11N132i March 3, 2020 10.15.2
已停產 目前版本 Beta測試版本

事故

XcodeGhost

在2015 年 9 月 18 日,有人發佈消息稱發現由某第三方提供的Xcode(即XcodeGhost)包含惡意後門,會使其編譯的程序被注入相應的後門用於收集相關使用信息,多個中國大陸發佈的軟件被該編譯器感染。[61][62]有人推測傳染方式可能是其作者通過多種社交途徑推廣其發佈的第三方Xcode;[62]也有人分析通過污染迅雷的離線下載服務使其緩存了染毒版本文件,使只要通過迅雷下載,即使是從官方途徑下載也會因為迅雷的CDN機制而染毒。[63]

之後所感染的軟件開發者和其他蘋果應用開發者相繼排查並重新發佈無污染版本。迅雷表示其CDN系統的緩存文件無被污染。[63]其事件作者也發表聲明稱此次為一次錯誤的實驗。[64][65]

根據史諾登(Edward Snowden)揭露文件,美國中情局(CIA)在2012 年 已有類似攻擊手法,即可以透過偽冒Xcode,用來監控所有使用該偽冒開發工具所開發的App及後續的修改版本,而這套偽冒開發工具所開發的App,可以在蘋果公司的官方App Store上架並販售,且不會被任何人員發覺有異常之處。[66]

參考文獻

  1. GNU Pascal and Xcode
  2. Using Free Pascal with Xcode
  3. . [2008-10-30]. (原始内容存档于2008-12-05).
  4. CSharpPlugin - cocoa-sharp-dev - Google Code
  5. CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home
  6. . [2008-10-30]. (原始内容存档于2008-07-23).
  7. . [2015-05-02].
  8. (PDF). [2015-05-02].
  9. (PDF). [2015-05-02].
  10. (PDF). [2015-05-02].
  11. (PDF). [2015-05-02].
  12. . There were several releases of Xcode 3.2.3: with iOS 4.0; with iOS 4.0.1; with iOS 4.0.2 SDK
  13. (PDF). [2015-05-02].
  14. (PDF). [2015-05-02].
  15. . [2015-05-02]. (原始内容存档于2011-07-30).
  16. (PDF). [2015-05-02].
  17. (PDF). [2015-05-02].
  18. . [2015-05-02]. (原始内容存档于2011-09-24).
  19. . [2015-05-02].
  20. . [2015-05-02].
  21. . [2015-05-02]. (原始内容存档于2012-02-02).
  22. . [2015-05-02]. (原始内容存档于2012-02-18).
  23. . Mac App Store. [2015-05-02]. (原始内容存档于2012-07-01).
  24. . [2015-05-02].
  25. (PDF). [2015-05-02].
  26. . Mac App Store. [2015-05-02]. (原始内容存档于2013-07-25).
  27. (PDF). [2015-05-02].
  28. . Mac App Store. [2015-05-02]. (原始内容存档于2013-10-10).
  29. . Mac App Store. [2015-05-02]. (原始内容存档于2014-05-30).
  30. .
  31. . [2015-05-02].
  32. .
  33. . [2015-05-02].
  34. . [2015-05-02].
  35. . [2015-05-02].
  36. . [2015-05-02].
  37. Developer Portal version
  38. MAS version
  39. LSMinimumSystemVersion from Info.plist
  40. Developer Portal version
  41. MAS version
  42. plutil -p Xcode.app/Contents/Info.plist | grep LSMinimumSystemVersion
  43. cd Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/; plutil -p */System/Library/CoreServices/SystemVersion.plist
  44. ls Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ | grep '(.*)'
  45. ls Xcode.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport/ | grep '(.*)'
  46. ls Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport/ | grep '(.*)'
  47. from preferences -> downloads
  48. plutil -p Xcode.app/Contents/Info.plist | grep LSMinimumSystemVersion
  49. cd Xcode.app/Contents/Developer; cd Platforms/MacOSX.platform/Developer/SDKs/; plutil -p */System/Library/CoreServices/SystemVersion.plist
  50. cd Xcode.app/Contents/Developer; plutil -p Platforms/iPhoneOS.platform/version.plist
  51. cd Xcode.app/Contents/Developer; plutil -p Platforms/WatchOS.platform/version.plist
  52. cd Xcode.app/Contents/Developer; plutil -p Platforms/AppleTVOS.platform/version.plist
  53. .
  54. To see the SwiftUI preview, you need macOS 10.15[53]
  55. . Apple Developer Documentation. Apple Inc. [2019-12-10].
  56. . Apple Developer Documentation. Apple Inc. [2019-11-04].
  57. . Apple Developer Documentation. Apple Inc. [2019-12-10].
  58. . xcodereleases.com. [2019-12-10].
  59. . Apple Developer Documentation. Apple Inc. [2019-11-10].
  60. . Apple Developer Documentation. Apple Inc. [2020-01-14].
  61. . 網易數碼. 2015-09-18 [2015-09-19]. (原始内容存档于2015-09-25).
  62. . 網易數碼. 2015-09-18.
  63. 驅動之家. . 搜狐. 2015-09-19.
  64. 冰冰. . 驅動之家. 2015-09-19.
  65. . 網易數碼. 2015-09-19.
  66. 黃彥棻. . 電週文化事業. 2015-10-13.

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.