计算机科学

首页 > 计算机科学

Xcode

Xcode
Xcode 6 icon.png
Xcode 3.2 project window.png
运行于Mac OS X 10.6上的Xcode 3.2
开发者 苹果公司
稳定版本
稳定版本 9.2(9C40b)(2017年12月4日,​8个月前​(2017-12-04[±]
预览版本 8.2 Beta 2 (8C30a)(2016年12月15日,​20个月前​(2016-12-15[±]
操作系统

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是苹果公司向开发人员提供的集成开发环境,用于开发macOS、iOS、WatchOS和tvOS的应用程序。

目录

  • 1 概述
  • 2 版本历史
    • 2.1 Xcode 1.0 - Xcode 2.x(支持 iOS 之前)
    • 2.2 Xcode 3.0 - Xcode 4.x
    • 2.3 Xcode 5.0 - 6.x (支持 arm64 )
    • 2.4 Xcode 7.0 - 9.x (开放免费部署至实体设备)
  • 3 事故
    • 3.1 XcodeGhost
  • 4 参考文献
  • 5 外部链接

概述

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,[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.6和Mac OS X v10.7的用户可以从Mac App Store中免费下载。

Xcode最新的版本是Xcode 9(2017 年 WWDC发布),支持iOS 11和WatchOS 3的开发。同样,可在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 - 9.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.4 beta

9Q1004a 2018 年 4 月 2 日 10.13.2 10.13.4 (17E189) iOS 11.4 (15F5037c) watchOS 4.3 (15T212) tvOS 11.4 (15F5037c) 新增 iOS 11.3 (不支持 tvOS 11.3)
版本 Build 发布日期 可于 OS X上运行的版本[42] OS X SDK(s)[43] 包括iOS SDK[44] 包括watchOS SDK[45] 包括tvOS SDK[46] 可以下载的模拟器 iOS 版本[47]
已停产 当前版本 Beta测试版本

事故

XcodeGhost

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

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

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

参考文献

  1. ^ GNU Pascal and Xcode
  2. ^ Using Free Pascal with Xcode
  3. ^ Tools 互联网档案馆的存档,存档日期2008-12-05.
  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-07-23.
  7. ^ 7.0 7.1 iPhone Software Development: Old versions of iPhone SDK. [May 2, 2015]. 
  8. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  9. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  10. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  11. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  12. ^ 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 
  13. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  14. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  15. ^ Xcode. [May 2, 2015]. (原始内容存档于2011 年 7 月 30 日). 
  16. ^ Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  17. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  18. ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2011-09-24). 
  19. ^ How to Install Older iOS Simulators in XCode 4.2.1 (SDK5.0). [2015-05-02]. 
  20. ^ iphone - Xcode 4.2.1 for Snow Leopard - Stack Overflow. [2015-05-02]. 
  21. ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2012-02-02). 
  22. ^ Mac App Store - Xcode. [2015-05-02]. (原始内容存档于2012-02-18). 
  23. ^ Mac App Store - Xcode. Mac App Store. [2015-05-02]. (原始内容存档于2012-07-01). 
  24. ^ iphone - Install Simulator SDK 4.3 to Xcode 4.4 on Mountain Lion - Stack Overflow. [May 2, 2015]. 
  25. ^ Unauthorized - Apple Developer (PDF). [May 2, 2015]. 
  26. ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2013 年 7 月 25 日). 
  27. ^ Unauthorized - Apple Developer (PDF). [2015-05-02]. 
  28. ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2013 年 10 月 10 日). 
  29. ^ Mac App Store - Xcode. Mac App Store. [May 2, 2015]. (原始内容存档于2014 年 5 月 30 日). 
  30. ^ Xcode 5 and iOS 7: Architecture and Valid architectures. 
  31. ^ ios5 - Use iOS 5 Simulator in XCode 5? - Stack Overflow. [May 2, 2015]. 
  32. ^ About 64-Bit Cocoa Touch Apps. 
  33. ^ Install ios 5 simulator to xcode 5.1?. [May 2, 2015]. 
  34. ^ iphone - ios 6.0 Simulator in xcode 5.1 - Stack Overflow. [May 2, 2015]. 
  35. ^ ios - Xcode 6 Standard architectures exclude armv7s - Stack Overflow. [May 2, 2015]. 
  36. ^ xcode - iOS 6.1 simulator on OSX 10.10 Yosemite - Stack Overflow. [May 2, 2015]. 
  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. ^ iOS开发工具Xcode遭恶意代码插入 网易云音乐等APP被感染. 网易数字. 2015-09-18. (原始内容存档于2015-09-25). 
  49. ^ 49.0 49.1 关于Xcode自带病毒事件你必须要知道的7件事. 网易数字. 2015-09-18. 
  50. ^ 50.0 50.1 驱动之家. 迅雷:离线服务器并未受问题Xcode版本影响-搜狐科技. 搜狐. 2015-09-19. 
  51. ^ 冰冰. XcodeGhost作者现身澄清:只是一次错误的实验. 驱动之家. 2015-09-19. 
  52. ^ XcodeGhost作者凌晨现身微博并公开源码 称只是实验项目. 网易数字. 2015-09-19. 
  53. ^ 黄彦棻. XcodeGhost风暴事件大剖析. 电周文化事业. 2015-10-13. 

外部链接

  • Xcode - 新增特性 - Apple Developer

相关推荐