Xcode

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻
Xcode
运行于Mac OS X 10.6上的Xcode 3.2
开发者苹果公司
稳定版本12.5.1 (12E507)(2021年6月21日,​2年前​(2021-06-21[±]
预览版本13.0 beta 5 (13A5212g)(2021年8月10日,​2年前​(2021-08-10[±]
操作系统macOS
类型集成开发环境
许可协议专有软件
网站Apple - Xcode

Xcode苹果公司向开发人员提供的集成开发环境,用于开发macOSiOSiPadOSWatchOStvOS的应用程序。

概述

Xcode前身是继承自NeXTProject Builder

The Xcode suite包含有GNU Compiler Collection自由软件(GCC、LLVM(默认是后者)),并支持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 12(2020 年 WWDC发布),支持iOS 14和watchOS 7的开发。同样,可在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[32]7D1014[33] 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上执行的版本[35] OS X SDK(s)[36] 包括iOS SDK[37] 包括watchOS SDK[38] 包括tvOS SDK[39] 可以下载的模拟器 iOS 版本[40]

Xcode 11.x (开放SwiftUI框架)

版本历程
版本 Build 释出日期 可于 OS X上执行的版本[35] macOS SDK(s)[41] 包括iOS SDK [42] 包括watchOS SDK [43] 包括tvOS SDK [44] 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) [46]

11.1

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

11.2

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

11.2.1

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

11.3

11C29 December 10, 2019 10.15.2 (19B90) [50][51]

11.3.1

11C505 January 13, 2020 [50][52]

11.4 beta 3

11N132i March 3, 2020 10.15.2
已停产 当前版本 Beta测试版本

事故

XcodeGhost

在2015 年 9 月 18 日,有人发布消息称发现由某第三方提供的Xcode(即XcodeGhost)包含恶意后门,会使其编译的程序被注入相应的后门用于收集相关使用信息,多个中国发布的软件被该编译器感染。[53][54]有人推测传染方式可能是其作者通过多种社交途径推广其发布的第三方Xcode;[54]也有人分析通过污染迅雷的离线下载服务使其缓存了染毒版本文件,使只要通过迅雷下载,即使是从官方途径下载也会因为迅雷的CDN机制而染毒。[55]

之后所感染的软件开发者和其他苹果应用开发者相继排查并重新发布无污染版本。迅雷表示其CDN系统的缓存文件无被污染。[55]其事件作者也发表声明称此次为一次错误的实验。[56][57]

根据史诺登(Edward Snowden)揭露文件,美国中情局(CIA)在2012 年 已有类似攻击手法,即可以透过伪冒Xcode,用来监控所有使用该伪冒开发工具所开发的App及后续的修改版本,而这套伪冒开发工具所开发的App,可以在苹果公司的官方App Store上架并贩售,且不会被任何人员发觉有异常之处。[58]

参考文献

  1. GNU Pascal and Xcode
  2. Using Free Pascal with Xcode
  3. Tools. [2008-10-30]. 
  4. CSharpPlugin - cocoa-sharp-dev - Google Code
  5. CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home
  6. Haskell Xcode Plugin. [2008-10-30]. 
  7. 引证错误:<ref>标签无效;未给name(名称)为iphonesdkdev.blogspot.ru的ref(参考)提供文本
  8. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  9. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  10. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  11. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  12. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  13. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  14. Xcode. [2015-05-02]. 
  15. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  16. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  17. 17.0 17.1 Mac App Store - Xcode. [2015-05-02]. 
  18. How to Install Older iOS Simulators in XCode 4.2.1 (SDK5.0). [2015-05-02]. 
  19. iphone - Xcode 4.2.1 for Snow Leopard - Stack Overflow. [2015-05-02]. 
  20. Mac App Store - Xcode. [2015-05-02]. 
  21. 21.0 21.1 21.2 21.3 Mac App Store - Xcode. Mac App Store. [2015-05-02]. 
  22. iphone - Install Simulator SDK 4.3 to Xcode 4.4 on Mountain Lion - Stack Overflow. [2015-05-02]. 
  23. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  24. Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  25. Xcode 5 and iOS 7: Architecture and Valid architectures. 
  26. ios5 - Use iOS 5 Simulator in XCode 5? - Stack Overflow. [2015-05-02]. 
  27. About 64-Bit Cocoa Touch Apps. 
  28. Install ios 5 simulator to xcode 5.1?. [2015-05-02]. 
  29. iphone - ios 6.0 Simulator in xcode 5.1 - Stack Overflow. [2015-05-02]. 
  30. ios - Xcode 6 Standard architectures exclude armv7s - Stack Overflow. [2015-05-02]. 
  31. xcode - iOS 6.1 simulator on OSX 10.10 Yosemite - Stack Overflow. [2015-05-02]. 
  32. 32.0 32.1 Developer Portal version
  33. 33.0 33.1 MAS version
  34. LSMinimumSystemVersion from Info.plist
  35. 35.0 35.1 plutil -p Xcode.app/Contents/Info.plist | grep LSMinimumSystemVersion
  36. cd Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/; plutil -p */System/Library/CoreServices/SystemVersion.plist
  37. ls Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ | grep '(.*)'
  38. ls Xcode.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport/ | grep '(.*)'
  39. ls Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport/ | grep '(.*)'
  40. from preferences -> downloads
  41. cd Xcode.app/Contents/Developer; cd Platforms/MacOSX.platform/Developer/SDKs/; plutil -p */System/Library/CoreServices/SystemVersion.plist
  42. cd Xcode.app/Contents/Developer; plutil -p Platforms/iPhoneOS.platform/version.plist
  43. cd Xcode.app/Contents/Developer; plutil -p Platforms/WatchOS.platform/version.plist
  44. cd Xcode.app/Contents/Developer; plutil -p Platforms/AppleTVOS.platform/version.plist
  45. SwiftUI: Getting Started. 
  46. To see the SwiftUI preview, you need macOS 10.15[45]
  47. Xcode 11.1 Release Notes. Apple Developer Documentation. Apple Inc. [2019-12-10]. 
  48. Xcode 11.2 Release Notes. Apple Developer Documentation. Apple Inc. [2019-11-04]. 
  49. Xcode 11.2.1 Release Notes. Apple Developer Documentation. Apple Inc. [2019-12-10]. 
  50. 50.0 50.1 50.2 Xcode Releases. xcodereleases.com. [2019-12-10]. 
  51. Xcode 11.3 Release Notes. Apple Developer Documentation. Apple Inc. [2019-11-10]. 
  52. Xcode 11.3.1 Release Notes. Apple Developer Documentation. Apple Inc. [2020-01-14]. 
  53. iOS开发工具Xcode遭恶意代碼插入 网易云音乐等APP被感染. 网易数码. 2015-09-18 [2015-09-19]. 
  54. 54.0 54.1 关于Xcode自带病毒事件你必须要知道的7件事. 网易数码. 2015-09-18. 
  55. 55.0 55.1 驱动之家. 迅雷:离线服务器并未受问题Xcode版本影响-搜狐科技. 搜狐. 2015-09-19. 
  56. 冰冰. XcodeGhost作者现身澄清:只是一次錯误的实验. 驱动之家. 2015-09-19. 
  57. XcodeGhost作者凌晨现身微博并公开源碼 称只是实验项目. 网易数码. 2015-09-19. 
  58. 黄彦棻. XcodeGhost风暴事件大剖析. 电周文化事业. 2015-10-13. 

外部链接