iOS开发周报:Apple 更新 iMac 产品线,适配 iOS 9 分屏特性的 iWork 套件更新
新闻
-
iMac 产品线更新 :在大家都认为本次只会新推出 21.5 inch retina iMac 的时候,Apple 对整个 iMac 产品线都进行了更新。根据 Geekbench 的 测评 ,新款的 iMac 性能与之前相比提高在 20% 左右。但是与此同时,有不少购买者也注意到 1TB 版本的 Fusion Drive 中内置的 SSD 从原来的 128GB 大幅缩水到了 24GB。这可能意味 Apple 认为 24 GB 已经足够使用,效果和 128GB 相同。不过最后事实如何,还是要看用户最终的使用结果。
-
新款 Magic 系列配件更新,触摸板配备 Force Touch :随着 iMac 更新一起,Magic 系列的鼠标,键盘,触摸板三件套也获得了更新。其中触摸板添加了 Force Touch 支持,这也意味着除了 Macbook Air 以外,其他的最新款的 Mac 设备上的触摸板都已经支持了 Force Touch,开发者已经可以更多地利用这个特性进行开发了。结合 iPhone 6s 的 3D Touch 来看,多一个维度的触碰已经可以说是交互的新方向。
-
iWork 支持 iOS 9 分屏特性,iPad 迎来重新定位? :在 iPad Pro 的发布会上微软 Office 团队的演示向我们展示了 iPad Pro 在办公领域的可能性。iOS 9 更新已经有一段时间了,Apple 自家的 iWork 却迟迟没有加入对分屏的支持。上周 iWork 办公三件套终于得到了更新,加入了分屏的支持。iPad 在大屏 iPhone 问世以后就陷入了定位上的尴尬,作为家庭娱乐的终端之一 iPad 非常成功,但是在生产力上却一直不太出色。可以看出,Apple 希望借助 iOS 9 和 iPad Pro 来重新定位 iPad。
教程
-
Swift Summit :Swift Summit 是国外 Swift 社区开发者组织的 Swift 技术会议,不少顶尖的欧美开发者都将登坛演讲。之前举办的 Swift Summit London 就获得了很大的成功,而在下周最新的会议将在旧金山召开。按照之前的经验,会议的视频和演示文档都将在会后放出,相信会是 Swift 开发者非常好的学习资料。如果你之前没有看过 London 时的视频的话,抽空研究下感兴趣的主题相信会给你带来不少收获。
-
一种头像缓存策略 :应用中显示用户的头像是非常常见的需求,因为头像的特殊性,我们应该设计一些缓存机制来避免多次下载和无用请求。这篇文章通过实际的场景作为例子为我们展示了一种头像存储和显示的策略。作者同时也将文章中设计的代码和例子整理在了 这里 ,有兴趣和需求的朋友可以看看。
-
Push / Pop modal SFSafariViewController (Hacking swipe from edge gesture) :iOS 9 新加入的
SFSafariViewController
为开发者提供了一种展示网页内容的即开即用的方式。相比起UIWebView
和WKWebView
,SFSafariViewController
更接近与一个标准的浏览器,Apple 帮你做了大量的实现细节,因此使用起来很方便。不过有一个限制是SFSafariViewController
只能使用 modal 的方式来展现,用户在浏览网页后想要关闭的话需要点击右上角的完成按钮,而不能试用过边缘侧滑的方式返回,这不是特别方便。这篇文章添加用自定义转场和一点小的 hack,让我们能够以 Push 的动画的方式来使用SFSafariViewController
。
开源项目
-
SwiftTask :一个 Swift 的 Promise 框架,和 Objective-C 的 Bolts-Task 比较类似。你可以通过将一系列操作分解或者组合成一个个的任务,然后对任务进行安排来组织代码逻辑。相比起传统的编码方式,逻辑上会更加清晰。另外,使用 Promise 的方式,也很容易实现像是任务的重试、级联或者依赖等等,非常方便。
-
wax :wax 是一个有些年头的项目了,它是 Objective-C 和 Lua 的桥梁,可以让你使用 Lua 来通过 runtime 实现和运行 Objective-C 的内容,这在调试 app 和在线热修复的时候会非常有用。不过 wax 的原作者最近一直没有进行维护,这个 repo 是阿里巴巴 fork 以后维护的版本,在原基础上添加了 64 位支持以及 block 的相互调用,可以说让这个项目又复活了。不过现在 Apple 主打的还是使用 JavaScript 来做为脚本交互语言,也有更方便的 JavaScriptCore,所以除非你是铁杆 Lua 粉丝,否则提供类似功能但是使用 JavaScript 的 JSPatch 可能会是更好的方向。
-
Reachability.swift :如果你有使用 Objective-C 进行网络方面编程的经验的话,你一定不会对 Apple 的 Reachability 感到陌生。这个框架将原来的 Reachability 用 Swift 和闭包的方式进行了重写,现在使用起来比以前要方便得多。
-
Interstellar :一个极简的 FRP (Functional Reactive Programming) 中 Signal 的实现。你可以用这个框架来创建简单的信号量并用函数式的方式来操作信号。如果你只是想在你的项目中比较合适的地方适当地用一些函数响应式编程,又不太想引入像是 ReactiveCocoa 或者 RxSwift 这样重量级的框架的话,
Interstellar
可能会是不错的选择。