iOS 开发周报:新款 Apple TV 和 SDK 可能在 9 月发布

  • 王巍

2015 年 8 月 3 日

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

新闻

  1. 新款 Apple TV 可能在 9 月发布?:虽然在国内可能用处比不上其他形形色色的更符合中国特色的电视盒子,但是作为这一类产品的始祖之一,Apple TV 在国外市场一直还是比较受欢迎的。Apple 可能在 9 月推出新款的 Apple TV,与以往不同,传言本次的产品将搭载 A8 处理器,一个类似触摸板的遥控器,以及完整的开发 API 和 App Store 支持。这是不是意味着它会搭载一个类似 iOS 的系统,让我们的 app 或者游戏能在电视上运行?如果成真的话,这将会是一个对现有生态的巨大改变,让我们拭目以待。

教程

  1. 《处理键盘通知》:在 iOS 8 中引入第三方键盘扩展后,键盘相关事件的通知经常会出现问题。作者在本文中简单分析了这个现象出现的规律。另外作者也给出了一种解决方案,并将它开源发布在了这里

  2. 《Dynamic Swift》:在 Xcode 7 beta 4 中,久违的performSelector 又回到了 Swift 中。这篇文章简单说明了如何在 Swift 中使用 performSelector 并获取返回的结果。

  3. 《AsyncDisplayKit Tutorial: Node Hierarchies》AsyncDisplayKit 是 Facebook 开源一套 UI 渲染框架。不同于 UIKit,如果你使用这套框架的话,可以在一个 View 和 Layer 的异步抽象层中执行 UI 操作,这可以让你的 UI 显得更加平滑。这篇教程结合一个实际的例子讲解了如何配置一个基于 AsyncDisplayKit 的项目,以及使用它来加速我们的 UI 渲染。

  4. 《如何轻松实现 iOS9 多任务管理器效果 (iCarousel 高级教程)》:文章带领大家实现了一个类似 iOS 9 中 app switcher 的动画效果。虽然只是用 Core Animation 的相关内容也是可以实现类似效果的,但是作者选用了 iCarousel 这个特性丰富的强大动画库,这节省了非常多的时间和代码量。对这个动画框架感兴趣的朋友不妨参照示例代码阅读本文,相信可以收获很多使用 iCarousel 和制作漂亮动画的心得技巧。

开源项目

  1. NVActivityIndicatorView:一系列漂亮的 loading 动画。自定义的 loading 动画经常被用在网页前端开发中,如果你厌倦了系统提供的 UIActivityIndicatorView 的默认样式,想要在 app 中添加一个个性化的元素的话,这个框架会是一个不错的选择。

  2. PINRemoteImage:Pinterest 作为图片社交 app 的始祖之一,每天要处理千万计的图片,它们在图片下载和显示方面的能力自然也是毋庸置疑的。最近 Pinterest 开源了一个 iOS 下的图片下载和缓存的框架。PINRemoteImage 除了常规的异步下载和缓存之外,还可以支持像是 WepP 或者 gif 这样的图片。另外,这个框架还提供对 JPG 图片的逐步下载,即可以迅速显示部分或者模糊的图片,在过程中等待下载的完成,最后显示完整图片。这在增强用户体验方面会十分有用。

  3. GuillotineMenu.swift:一个对 Dribbble 上这个效果的 swift 实现。菜单将从上方以很漂亮的物理效果扇形进入画面,可以说是一种很新颖的菜单交互方式。实现的话也并不困难,使用自定义的 Transition Animation 就可以实现,作者也在自己的博客上说明了实现思路。如果你想提高自己在 view controller 转场方面的能力的话,其实这个效果也特别适合作为练习。

  4. R.swift:如果你熟悉 Android 开发,你可能知道在 Android 中有一个 R 类,你可以通过 R 来安全地获取到应用包中的各种资源。而在 iOS 开发中,我们往往需要通过指定资源的名字来获取一个资源 (例如 UIImageimageWithName:)。R.swift 在 iOS 开发中实现了一个类似 Android R class 的功能,使用这个框架,你可以用更安全的方式来获取资源。值得一提的是这个库对资源的检查都是在编译时完成的,本身并不会进入到你的项目中去,也不会对 app 的性能产生影响。

移动iOS语言 & 开发架构