iOS 开发周报:iPad Pro?9 月 9 日发布会是否会有新惊喜

阅读数:1552 2015 年 9 月 7 日

新闻

  1. iPad Pro 和 iPad mini 4 可能于秋季发布会一并公开:9to5mac 给我们带来了关于发布会的新消息。据称 Apple 将在 9 月 9 日的发布会上一并将最新的 iPad 系列产品进行公布。这其中包含了传闻已久的大屏 iPad - iPad Pro。这款产品会用到 Force Touch 技术,而开发者们也被期望使用 Force Touch 来完善应用的交互特性。如果属实,那么这款设备很可能会在 11 月份正式上架开卖。所以如果在 9 月 9 日的发布会没有宣布的话,在秋季我们很可能还会迎来另一场 Apple 发布会。实际到底如何,让我们拭目以待吧。

  2. Xcode 7 GM 和 Swift 2 即将正式发布:按照惯例,在秋季发布会结束后,Xcode 7 的 GM 版本即将公开。开发者们可以使用 GM 版本提交适配最新 iOS 系统的应用。同时,Swift 2 也将随之正式发布。在经过一年的发展后,Swift 语言取得了很大进步以及更多的开发者的支持,而随着 iOS 6 和 7 逐渐退出历史舞台,以及 Swift 即将开源,这门语言的优势将逐渐体现,并且也会随环境而变得相对稳定。拥抱变化,尽快适应 Swift 的新时代,将会是很多开发者在未来几年里所要面临的课题,提早准备相信会是不错的主意。

教程

  1. ReactiveCocoa2 源码浅析:虽然 Reactive Cocoa 3 已经准备就绪,蓄势待发,但是在稳定地大规模投入产品环境之前,ReactiveCocoa 2 还是在 Cocoa 平台上实践 FRP 的首选框架。这篇文章从解析源码入手,深入地分析了 RAC 各个部件的构成和实现方式。如果你不满足于仅只会使用 RAC,而想要更深入地了解一些背后的机制的话,请一定不要错过这篇文章。

  2. 图片变形的抗锯齿处理方法:通过给图片增加一个像素的透明边,以此来消除在图像变形或旋转时产生的锯齿。这种做法原理上非常巧妙,而且实施起来也很简单。作者用该方法对比使用 iOS 7 的allowsEdgeAntialiasing 甚至得到了更好的帧率结果。有时候这样的小优化所积累起来的运行速度也会成为影响 app 质量的重要因素。

  3. Protocol Oriented Programming in the Real World:面向接口编程是 Swift 2 中引入 protocol extension 后被大家开始广泛重视的一中编程范式。使用面向接口的方法,可以很大程度上保证耦合程度最低,同时也为开发者提供了比继承和类更加灵活的代码组织方式。这篇文章结合一个 Twitter 客户端的实际例子,为我们展示了在日常开发中使用面向接口编程的新思路。

开源项目

  1. APNGKit:一个可以在 iOS 上读取和显示 APNG 格式图像的框架。APNG 是 PNG 的一个扩展,它是一种动画图像格式。与现在流行的 GIF 格式相比,APNG 最大的好处是支持 24 bit 颜色以及 8 bit 的透明度,这意味着比 GIF 好更多的动画品质。APNGKit 架构在 libpng 的基础上,来对 APNG 格式进行解析,因此也十分高效。作为利益相关说明,这个框架是笔者的作品。

  2. LiquidFloatingActionButton:水滴特效的按钮菜单。在移动设备上制作带有水滴或者液体特效的动画并不是一件容易的事情。这个框架实现了一套用 layer 动画来模拟水滴效果的引擎,并将其使用到一个菜单展开的效果中,非常漂亮。UI 中有类似需求的话,可以参看一下这个框架的实现。

  3. AlamofireImage:自从 Mattt “失踪” 以后,Alamofire 的维护工作就由 cnoon 接手,最近 cnoon 发布了一个基于 Alamofire 的图片下载和缓存框架。这个框架不仅可以完成从 URL 下载和显示图片的功能,还提供了一些方便的 API 来处理图片,比如圆角或者使用滤镜等等。如果你正好在使用 Alamofire 进行网络请求,又有一些图片方面的需求的话,使用这个框架是很理想的选择。

  4. ActiveLabel.swift:一个处理标签中 # 符号, @ 符号,以及超链接文本的框架。它可以识别并标注 label 视图中的这些要素,并为它们添加点击事件。你通过监听点击事件即可简单地实现相关的逻辑。这在很多微博类或者文字类的 app 中都是十分常见的功能,可以为这类开发者节约不少时间。


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论