说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Xcode 6 GM、6.1齐出,Swift终迎1.0版!

HTML文档下载 WORD文档下载 PDF文档下载
在诚可贵的iPhone6和价更高的Plus身陷吐槽谩骂褒扬声声齐飞中,iOS 8、Xcode 6 GM版同时发布,还有专门面向Yosemite的Xcode 6.1 Beta,而几经改进的Swift语言也迎来了1.0 GM版,用Swift编写的App终于可以提交啦!

北京时间9月10日消息,在轰轰烈烈引得一阵口诛笔伐的新品发布会结束之后,苹果在其开发者网站上同时放出了Golden Master(GM)版的iOS 8系统、Xcode 6以及Apple TV新固件,还有专门面向OS X Yosemite的Xcode 6.1 Beta,而几经改进的Swift语言也迎来了1.0版本,从今天开始,开发者们可以终于递交iOS 8的应用了!


相比之下,Yosemite、Xcode、Swift皆是更新频繁,而iOS 8在悄然面向苹果的合作运营商发布Beta 6之后,便直接跳到了GM版本,最主要的原因还是iOS 8在设计与开发工作方面已近尾声,而苹果在发布会上亦宣布,将于9月17日发布iOS 8正式版。


再来看看Xcode,从Release Notes可以看出,苹果忙于发布新产品,对于Xcode和Swift的改进显然并不周全,但仍然存在许多颇值得开发者期待的改动,而最让人惊艳的莫过于:启动界面支持XIB和Storyboard,基于这项功能,开发者在开发应用时就能够为启动界面设计一套布局,便可适配各种机型,不过目前仅支持iOS 8,而iOS 8以下的版本仍然沿用传统的AssetCatalog。


现在,开发者也可以直接在构造器中返回nil表示构造失败。一个表示失败的构造器可以通过init?来声明,它可以返回一个显式的可选类型或隐式解封的可选类型。但要注意对于枚举和结构体来说随时都可以返回nil,而对类则不一样,只有当所有的存储属性被初始化后或者其self.init和super.init被调用后才可以返回nil,当前调用代码就可以收到nil,来判断构造是否成功:

extension Int {init?(fromString: String) {if let i = fromString.toInt() {// Initializeself = i} else {// Discard self and return 'nil'.return nil    }  }}

可以这么使用:

if let twentytwo = Int(fromString: "22") {println("the number is \(twentytwo)”)} else {println("not a number”)}

此外,Fundation、UIKit、CoreData、SceneKit、SpriteKit、Metal API中的接口也进行了可选类型的适配性检查,移除了很大一部分隐式解封的接口,这个将有助于增强方法中参数与返回值是否为空的判断意义,更加安全稳定。此次改动也包括通过值是否为空来将T!换成T或T?,如果发生错误,就需告知苹果,并在内容栏打上“#IUO”的tag。而如果遇到属性或方法无法正确地判断是否为空时,开发者可以把返回值封装成一个可选类型,这样就能通过nil判断来检测。


最后,再来说一下Swift 1.0 GM版,苹果在其官方博客上宣布了这一重大消息,并表示,现在开发者可以将使用Swift语言编写的应用程序提交至App Store,不管是全部使用Swift,还是仅部分功能使用Swift编写,都可以将其与来自全球的开发者和用户进行分享。

而除了iOS之外,Mac开发者也同样可以使用Swift GM,以配合Xcode 6.1 Beta开发Mac App。当然,Swift GM并不是最终版本,目前,Swift还不算稳定,诸如AnyObject等的Bug仍未得到修复,而苹果开发团队未来还将继续对其进行优化,添加其他更高级的功能、提升性能并精简语法。现在,您还可以进入Xcode、Swift的mobilehub主页进行资源分享和讨论。

开发者可直接登陆Apple Developer下载iOS 8 GM、Xcode 6 GM、Xcode 6.1 Beta for OS X Yosemite,想要了解Xcode 6更新的详细信息,则可查看Xcode 6 Release Notes

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘