iOS 9 SDK 暗示新款 iPad - iOS 移动开发周报

  • 王巍

2015 年 6 月 23 日

话题:移动iOS语言 & 开发架构

新闻

  1. iOS 9 代码暗示 iPad Pro 的存在:在 iOS 9 SDK 中有开发者发现了一个新的键盘尺寸,暗示屏幕的长宽分别为 1366 和 1024 pt,这和传言已久的大屏 iPad 是吻合的。12.9 寸的 iPad Pro 如果确实存在的话,可以推测其分辨率将为 2732x2048 像素。

  2. Apple Watch 实体店购买下周开放:随着 watchOS 2 的公布,Apple Watch 能做的事情突然一下就丰富起来了。如果你想入手一块 Apple Watch,但是在之前又没有能在官网预定到的话,下周开始你就将能够直接在 Apple Store 实体商店直接够买了。

教程

  1. 《“自释放”在 iOS 开发中的应用》:作者总结了一些比较常见的内存管理上容易疏忽的地方,并分析了几个对应的开源库的解决方法。这篇文章可以加深你的对于内存管理的一些理解。

  2. 《The Guard Statement in Swift 2》:探索和分析了 guard 关键字在 Swift 2 中的一些细节和使用场景。garud 关键字的出现使得开发者在很大程度上可以避免之前的 nested if let,而采用更加科学的提前返回的方式书写程序。这篇文章里也有一些这个关键字的最合适的场景的用例,可供参考。

  3. 《用函数式的 Swift 实现图片转字符画的功能》:Swift 的一大特点就是适合函数式编程,但是对于绝大多数 iOS 开发者来说,函数式编程这个概念可能还比较陌生。这篇文章通过解读 swift-ascii-art 这一很有趣的开源项目代码来探索了一下项目中对于函数式编程的使用。如果有机会在 app 中用一些函数式编程的思想的话,会使代码更加简洁易懂。

  4. 《WWDC15 Session 笔记 - iOS 9 多任务分屏要点》:通过之前几年的布局,在 AutoLayout 和 Size Class 的基础上,iOS 9 中加入了多任务特性,这也是 iOS 9 中最引人注目的内容。这篇文章简述了 iOS 9 中多任务的模式和实现方式,作者也总结了在开发适配多任务模式时需要注意的一些小细节。

开源项目

  1. SyntaxKit:一个在 iOS 或者 OSX app 中高亮代码的解决方案,可以让你使用 TextMate 的主题文件来解析一段代码,并返回需要高亮的部分。如果你需要制作一个代码文本编辑器之类的 app 的话,使用这个库可以帮助你轻松完成代码高亮这一核心功能。

  2. watchOS-2-Sampler:像以往几届 WWDC 一样,我的前同事 @shu233 第一时间整理了新 SDK 中有意思的 API 的使用方法例程。这次他带给我们的是 watchOS 2 中新功能的全套例子,包括加速计,心率,录音和播放以及动画等诸多新内容。

  3. GRMustache.swift:Mustache 是一个很强大的 template 引擎,可以通过解析 json 来绑定并渲染占位符。如果你做过一些前端开发的话,会知道这是一种很常用的 HTML 绑定 Model 的做法,GRMustache.swift 是这个框架的 Swift 实现。

  4. TOCropViewController:一个模仿 iOS 系统自带的图片编辑界面,可以让你轻松实现图片裁剪的 View Controller。对需要基本的图片编辑功能的 app 来说,这是一个开袋即食的简单解决方案。

  5. MSTwitterSplashScreen:一个模仿 Twitter 加载页面动画的框架,可以实现图标缩放作为遮罩来显示第一个 ViewController 内容,让你的 app 启动显得更加平滑。

  6. DZNEmptyDataSet:Table View 和 Collection View 可以说是 app 开发中最常用的组件了,在没有具体内容和条目需要显示的时候往往我们需要一个友善的引导和说明页面来填补空白。这个框架让我们能简单地为 UITableViewUICollectionView 或者是UISearchDisplayController 以及 UIScrollView 制作空白内容页面,而不需要头疼视图的各种状态和布局问题。


感谢徐川对本文的审校。

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

移动iOS语言 & 开发架构