iOS 开发周报:Apple 推出 WWDC 16 应用,兼容 tvOS;iPhone 7 可能取消 16GB 版本

新闻

  1. WWDC 16 临近,Apple 推出新的 WWDC 应用:WWDC 16 将于一周后召开,最近 Apple 升级了 WWDC 的应用。新版本中采用了开发者们普遍喜爱的暗色主题,你也可以使用这个应用下载和观看之前几年的 WWDC 视频。除此之外,新版本还支持新一代的 Apple TV,也针对 iPad 进行了多任务的适配。
  2. iPhone 7 可能取消 16GB 版本:在 iPhone 产品线中,同系列的区别就只有磁盘空间不同。现在最低配置的 iPhone 是 16GB 起,但是很多用户发现随着现在系统和各种应用占用空间的增大,以及移动设备越来越成为个人的中心,需要存储大量音乐和照片等资源,16GB 的“入门版本”在使用时往往拙荆见肘。在 iPhone 7 中,Apple 可能会除去 16GB 的版本,而从 32GB 开始发售。
  3. Swift 3.0 Preview 1 短暂发布后被撤回:WWDC 16 上应该会公布 Swift 3.0 的相关消息。本周,Apple 曾经发布了第一个 Swift 3.0 的预览版本,其中这一年来的大部分被接受的提案都已经被实现了。但是随后这个版本就被替换回了 2.2 的开发分支的快照版本。可能最终 Swift 3.0 预览版还是要等到 WWDC 召开才会和 Xcode 8 beta 一同发布,如果你有计划将应用或者框架尽快升级适配 Swift 3.0 的话,最好尽早开始准备和关注。

教程

  1. 使用 CocoaPods 模块化iOS应用:很多开发者会使用 CocoaPods 来作为第三方框架的依赖管理工具,但是 CocoaPods 的用途绝不仅限于此。我们可以在开发中将复杂的程序的各个模块进行拆分,以降低开发难度和代码耦合,然后使用 CocoaPods 把这些模块聚合在一起,来构建更完整和强大的应用程序。这篇文章就针对 CocoaPods 的该使用场景进行了介绍。
  2. iOS 启动连续闪退保护方案:iOS 应用有时可能遇到启动必 crash 的绝境:也就是每次打开应用都闪退,无法正常使用。这可以说是最差的用户体验,也必然意味着很多一星评论。尽量避免这种情况的发生,或者当发生启动时崩溃的时候,采取一些补救措施,可能可以挽救你的应用的口碑。本文介绍了一种对连续闪退问题的产生原因进行检测和修复机制方式,通过引入 GYBootingProtection,可以让你的应用具备一些自修复的功能。
  3. Avoiding the overuse of @objc in Swift:作者在迁移到 Swift 2.2 的过程中发现了新加入的 `#selector` 语法和原来的 `Selector("method:")` 的不同。对于纯 Swift 的内容,如果不添加 `@objc` 的话将失去一些与 Objective-C 运行时相关的特性。但是 `@objc` 关键字又很容易扩散到项目的其他地方,作者通过组合两个协议来巧妙地实现了原来的意图。

开源项目

  1. ScrollableGraphView:一个非常漂亮的带有动画的图表框架。你可以用它来制作无限滚动的条形图或者曲线图。该框架也提供了很多可自定义的要素,使用起来非常容易。这个框架很适合用来进行简单的数据展示,原型设计等。
  2. Stellar:Stellar 是一个 Swift 的物理动画框架,它基于 Apple 的 UIDynamic,并对其进行了一些高层次的封装,是我们能以很简单的 API 来制作常见的动画效果。这个框架使用了类似 Promise 的层联方法来组织动画,并且全面适配和利用了 Swift 的语法特点。同时,框架还为我们提供了一些 Playground 的例子,让我们能够很直观和迅速地调试动画,非常方便。
  3. Atlas:如果你需要在应用中制作一个和系统的信息应用类似的交流工具的聊天界面的话,Atlas 可能会是最快的选择了。你可以通过简单地实现 Atlas 的 data source 来迅速搭建一个聊天界面,也可以使用内建的众多组件来实现像是联系人查找,消息排序等功能。如果有需要,你也可以对界面元素进行自定义,以满足业务需求。
  4. folding-cell:一个非常炫的 table view cell 展开的动画效果,它模拟了折叠的纸片翻开的动画,让人眼前一亮。动画效果的复用本身是一件比较复杂和困难的事情,这个动画效果的开发者做了不少努力,让这个动画效果尽可能地更容易被复用。它的实现方式非常值得参考,也许能对你自己制作应用时创建和复用复杂动画带来一些启示。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。

你可能感兴趣的:(iOS 开发周报:Apple 推出 WWDC 16 应用,兼容 tvOS;iPhone 7 可能取消 16GB 版本)