iOS开发周报:Apple 改进 App Store 搜索算法,下一代 Apple Watch 消息

新闻

  1. App Store 搜索算法改进:有开发者发现最近 Apple 改善了 App Store 的关键字搜索算法。相比于之前的简单文字匹配,新的搜索算法会寻找与搜索内容功能相似或者类目相同的应用。这对 App Store 发现机制是一个很大的改善,内容实用的应用会得到更多的展示机会。

  2. 下一代 Apple Watch 的消息:Apple Watch 一代的销量和市场反应并没有达到预期,最近关于这款产品第二代的消息已经开始被大家讨论了。台湾的广达电脑近日谈到了 Apple Watch 2 的生产情况,表示已经拿到首波代工订单,正式产品将于明年二季度开始小量出货,明年三季度放量生产。

  3. iPad Pro 正式发售:作为 Apple 眼中下一代生产力的代表,iPad Pro 于本周正式发售,相信更大的屏幕和专业级别的 Apple Pencil 能够在办公和绘画方面带来全新的体验。作为开发者,如果你的 app 想要利用大屏幕和 iOS 9 的话,建议尽快转到 Size Class 的布局技术栈中,这样就能够很容易地使 app 工作在多任务模式中。

教程

  1. iOS 保持界面流畅的技巧:文章非常详细地分析了 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。文中所列举的要点都是在开发 iOS 应用时所必须注意的。

  2. Where "where" may be used?where 关键字在 Swift 2 中的使用非常灵活,不论是结合 if let 还是 switch 语句,都能够大幅增加代码可读性。但是 Apple 的 Swift 官方文档中并没有为我们总结 where 可以使用的所有场景。这篇文章补充了文档在这方面的不足,通过例子列举了所有 where 的使用场合。

  3. The Sin in Singleton:单例在 iOS 中使用得非常多,但是最近都认为应当少用单例。本文作者指出单例并不是反模式,而只是经常被开发者滥用。在最简单的使用例中,使用单例并不会太大问题,但是当情况变得复杂时,或者我们需要同时使用一个类型的单例版本和非单例版本的时候,经常会出现问题。这篇文章对单例使用中的边界例子进行了一些说明。

  4. Charles 从入门到精通(中国5折特惠):Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。这篇文章详细介绍了在 iOS 开发中如何使用 Charles 来获取和修改网络请求。同时现在 Charles 在国内开展了五折优惠,有需要的开发者也可以借此机会入手。

开源项目

  1. MPParallaxView:如果你使用过新的 Apple TV 的话,一定会对 tvOS 中的视差图片效果印象深刻。这个框架用 Swift 在 iOS 上实现了类似的效果,用户可以通过触控或者是重力加速度计来控制视差图片的效果。

  2. VirtualGameController:虽然在 iOS 这样的触摸系统上更适合用点触和滑动来进行操作,但是也有不少游戏 (特别是 FPS 类) 选择使用虚拟手柄的方式来进行交互。自己实现一个虚拟手柄是有一定难度的,这个框架实现了一个可以定制的虚拟手柄。另外,除了单纯的 iOS 以外,框架还支持和 watchOS 以及 tvOS 的互联,功能十分强大。

  3. hound-swiftHound 是一项帮助审查代码格式的服务,在 SwiftLint的基础上,Hound 也增加了对 Swift 的支持。虽然在官方网页上还没有正式更新,但是开发者已经可以在 Swift 项目中添加 Hound 来进行审查了。如果你想在你的项目中加入的话,可以参照这里的文档进行配置。

注册 DigitalOcean VPS, 搭建自己的站点和梯子,注册得 10 $美元,免费玩儿俩月