What's new in Xcode 8
以下是苹果官方对Xcode 8新特性的描述,进行了一些翻译:
Xcode 8 包含了你为iPhone、iPad、Mac、Apple Watch和Apple TV创建惊艳的app所需要的一切东西。这个更快版本的IDE的新特性是你可以用来完成完全自定义的编码体验的新编辑器扩展。新的运行时问题会通过指出内存泄露来提示你避免bug,还有一个新的深入到你的对象图中去的内存调试器。Swift 3 包含更多自然、一致的API名称,让你可以在iPad上的新的Swift Playground app体验。
更快的界面构建器
用来设计绘制的界面构建器被完全重构了,让你的工作更快,并提供了更棒的控制。你可以看到一个关于你的app在任何Apple设备上的样式的准确生动的预览。由于你可以在不同设备间快速切换来自定义你的UI尺寸,你将能看到和你的用户看到的同样的界面样式。平移和缩放变得难以置信地快,而且你甚至可以在完全缩放到鸟瞰你的故事版时编辑你的界面。
编辑器扩展
新的Xcode代码编辑器扩展让你可以自定义你的编码体验。使用扩展来在你的编辑器文本里导航、选择、修改以及转化你的代码。将你最喜欢的扩展配置到快捷键上来让普通的格式修改变成瞬间完成。Xcode包含一个新的模板,这样你可以简单地创建编辑器扩展并发布它们到Mac App Store上去,或者签上你的Developer ID到扩展上并在线上分享它们。因为扩展是分离运行的,所以Xcode会保持安全和稳定。
新的Xcode 8 编辑器还包含这些非常棒的新特性:
- 新主题的San Francisco Mono字体
- 自动生成的快速帮助文档
- 高亮当前行
- Swift代码允许图片和颜色的字面值
- 代码实现图片
Swift 3
Swift 3 是第一个发布的完全开源在开发者社区Swift.org构建的创新编程语言。这次发布在新的公共API命名指南文档下统一了核心API的命名规则,这让写Swift代码变得更加自然。常用的系统API比如Core Graphics和Grand Central Dispatch更加有表现力并且与Swift更好地融合在一起。你也可以在新的iPad Swift Playgrounds app上体验Swift 3。
运行时问题
这个新的特性会报告Xcode自动识别的在你app运行时,难以发现且容易被忽略直到你的app到了你的用户手上才出现的问题。新的Thread Sanitizer会捕捉数据改变时的竞态条件以及其他线程相关的bug。使用新的View Debugger来更加高保真和高准确度地检查UI约束问题,在新的Memory Debugger中可以获得内存泄露的警告并追踪它。
签名更加简单有力
设备设置和代码签名被极大地简化了,当你需要时也提供了更多的控制。新的自动管理代码签名会生成所有你需要的签名,并在连接的Apple设备上运行你的app。只需要选择你的team,Xcode会完成其他的工作。你也可以选择精选你的provisioning profiles并为每个配置设置签名过程。如果你运行到了任何的问题,改良过的错误信息和log信息可以在Report Navigator中看到。如果你有多台Mac,Xcode会自动为每一台Mac生成唯一的开发者证书。
在你的Apple设备上开发并运行你的app和在Xcode偏好设置中输入你的Apple ID一样简单。Apple Developer Program membership不再是必须的了。
感受
文章翻译得有点丑,纯属于我的英文功底不好哈哈,看英文原文真是觉得,苹果的文案写的蛮好的,各种长难句,有限的篇幅里表述了很多的东西,而且很清晰,不过由于水平不足,翻译成中文感觉还是少了点味道,谈谈对Xcode 8的感受吧。
从整体上来看,苹果在进一步地减少新开发者入门的难度。以往开发者在Apple Developer Program membership上需要创建好几个证书,整个过程实在是麻烦,但是如果想要在真机上进行调试这是不得不进行的步骤。从Xcode 7开始苹果就在减少真机调试的限制,现在更加省略了。
另外就是苹果一直在推的Interface Builder,从最开始的xib文件,到后来的storyboard,到提供大量约束实现自动适配却吃力不讨好的Auto Layout,苹果一直在坚持提供更加简单、直观的界面开发方式,虽然大部分开发者都还是喜欢纯代码的方式来进行界面开发,但苹果确实在一步步地努力让界面开发变成真正的界面开发,代码就是用来写逻辑的,界面就该直接在界面上操作。现在苹果的产品线界面也开始多样化起来了,Auto Layout就是一种应对的自动适配方式,但是实在是太难用了,要考虑那么多约束想想就头疼,而且每次打开storyboard都会卡,现在在Interface Builder上提供多设备查看UI、加快流畅度,希望能够真的变得好用起来,像最后一张图一样的效果,以前只能在Reveal之类的工具里看到,真的太酷了。
一个很惊喜的地方在于代码编辑器允许扩展插件了,其实Xcode本身的编辑器真的挺好用的,之前github上也有一些可以应用于Xcode编辑器里的小插件,效果还是挺炫酷的,想想sublime那么好用,有多大程度上归功于它超级自由的自定义性和大量的插件呢,现在看他描述的意思应该是让插件的制作和使用都变得很方便了,那就期待慢慢地会出现多少好玩的插件吧,毕竟程序员都是无聊而可爱的。
Runtime Issues,Xcode支持自动检测运行时问题了,这个如果真的做的好,确实可以帮助开发者提前发现很多本来不会关注的问题。
其余一些界面上的优化,无非都是让Xcode变得更好看好用,其实不得不说Xcode真的蛮给力的,一直以来用着都觉得挺舒服的,而且一直在不断地做出创新和改变,从一款IDE上,就能看出一家公司的态度和实力了。
版权所有:http://blog.csdn.net/cloudox_
What's new in Xcode 8相关推荐
- Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
在更新完iOS14.3后,Xcode真机调试时报错,无法进行真机测试: 报以下错误: No profiles for 'com.example.software.Login' were found: ...
- 无法使用xcode打出ipa包的解决方法
使用xcode archive无法打出正确的ipa包,类型变为Generic Xcode Archive,而不是iOS App Archive,找到的解决方式 Check Build Settings ...
- Xcode中如何解决无法使用svn命令行的问题
今天在自己机器上安装了xp虚拟机,然后在xp虚拟机上安装了svn的服务器.发现原本Xcode5以后就自带的svn竟然在终端无法使用命令行,出现了以下的错误: xcrun: error: active ...
- XCODE 6.1.1 配置GLFW
最近在学习opengl的相关知识.第一件事就是配环境(好烦躁).了解了一下os x下的OpenGL开源库,主要有几个:GLUT,freeglut,GLFW等.关于其详细的介绍可以参考opengl网站( ...
- xcode 4.3.2 use storyboard创建TableView
xcode 4.3.2 use storyboard 使用TableView,显示一个颜色列表,表格包括一张图片,一个文本,一行副文本. TableView 呈现列表格式的数据,每一行是一个UITab ...
- 5,ORM组件XCode(动手)
本篇才真正是XCode教程第一篇.<速览>是为了以最简洁的语言最短小的篇幅去吸引开发者:<简介>则是对XCode组件和XCode开发模式的一个整体介绍,让开发者从宏观的角度去理 ...
- 【ios开发/Xcode】使用UITableView完成学生信息及成绩的显示
[ios开发/Xcode]使用UITableView完成学生信息及成绩的显示 设计思想 实现效果 源代码 设计思想 首先创建所有页面的故事版,包括,登录.注册与成绩页面 接着设置故事版的关联代码,如下 ...
- 【ios开发/Xcode】实现登录注册
[ios开发/Xcode]实现登录注册 实现效果 源代码 实现效果 首先进入初始界面,输入账号Linchuantao,密码Linchuantao,显示登录失败(如下左图),因此需要进行注册,点击左下角 ...
- 【ios开发/Xcode】实现关键字检索
[ios开发/Xcode]实现关键字检索 实现效果 源代码 实现效果 源代码 注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联 import UIKitcl ...
- 【ios开发/Xcode】实现简易省会问答
[ios开发/Xcode]实现省会问答 实现效果 源代码 实现效果 图1为初始界面,点击[显示答案]结果如图2所示显示答案为"福州",点击[下一个]如图3所示显示下一个省份,同样也 ...
最新文章
- 4.01~~Median
- 联想昭阳k29轴拆机步骤图_UG8.5编程加工之固定轴曲面轮廓铣削加工方法
- scala初学之Tuple、Array、Map、文件操作入门实战
- HTTPS 加密算法原理详解
- 一道计算时间的机试题
- markdown与latex:数学符号远远大于\gg和远远小于书写\ll
- Coolite一个简单例子-GridPanel列表增删改预览
- 《Effective Python 2nd》——类与接口
- 影楼——修图基本知识
- 运用getParameterNames()方法和getParameterValues()方法获取请求参数名称和内容
- 折线统计html,canvas制作简单的HTML图表,折线或者矩形统计(原创)
- 17讲项目实战签证页面
- PBOOT网站后太登录显示验证码错误的解决经验分享
- UIDocumentPickerViewController docx xlsx
- Web Moudle
- DBCHART的使用
- Linux创建share共享文件夹
- c语言程序设计在哪讲,《C语言程序设计》讲.doc
- 线性代数拾遗(2)—— 何时用初等行变换,何时用初等列变换?
- 对电视将来的发展发向