iOS开发周报:iOS 9.2 发布,tvOS App Store 首月表现统计

新闻

  1. iOS 9.2 发布,包含一系列修正和 Safari View Controller 行为:Apple 本周发布了 iOS 9.2 的更新,其中包含了对 Apple Music 和 Mail 等一系列 app 的常规的 bug 修正。对于开发者来说,可见的主要区别在于系统对 Safari View Controller 的行为的调整。你的 app 内如果使用了这个控件的话,现在可以在其中直接调用第三方 app 的扩展了。

  2. tvOS 发布一个月,tvOS App Store 表现总结:第四代 Apple TV 上市已经一个月了,tvOS App Store 是继 iOS 和 Mac Store 之后 Apple 平台的第三个软件商店,其表现也值得期待。应用商店和行为统计服务商 app figures 发布了一个 tvOS App Store 的统计,在一个月的时点上,现在已经有接近 3000 个应用在进行销售。应用的增长速度十分稳定,预计在 2016 年初几个月内就可以达到 10000。同时这份分析也对应用分类和售价等进行了一些解读。

教程

  1. Swift Package Manager: Create and Use a X11 package on Linux:Swift Package Manager 是 Apple 上周开源的 Swift 中的一部分,这篇教程讲述了如何在 Linux 上创建和使用一个兼容 X11 的 package。这可以作为我们用 Swift 来创建一个 Linux X11 桌面 app 的基础和起步。

  2. Skilled.io:Skilled.io 是新成立的一个 Swift 开发者社区,由 Swift Summit 会议的组织机构驱动,会定期发布一些会议视频和分享文章等。Swift Summit 是一个水平很高的开发者会议,可以期待 Skilled.io 的内容也会很有意义。现在 Skilled.io 实行邀请注册制,如果你有意贡献内容的话,可以考虑申请一个邀请。

  3. 接口编程那些事:在 Objective-C 中,接口又可以理解为 Protocol,面向接口编程又可以理解为面向 Protocol 编程,或者面向协议编程。而在 Swift 中,苹果大幅强化了 Protocol 在这门语言中的地位,整个 Swift 标准库也是基于 Protocol 来设计的。在这篇文章中,作者比较了面向对象和面向接口的优劣,以及在实际业务中使用接口编程的一些好处,可以作为转变编程思想的一些指导。

  4. Swift Weak References:Swift 开源以后,我们可以开始挖掘一些语法背后的机制。这篇文章分析了 Swift 中 weak 的实现方式。如果你想要读一读 Swift 的源码,却又不知道要如何入手的话,通过阅读这篇文章来熟悉 Swift 的代码和组织方式。

  5. Universal dynamic dispatch for method calls:Chris Lattner 在 swift-evolution 的邮件列表中对于开发者疑问关于统一动态派发调用提案的回答。通过对比现有的其他语言实现方式,Chris 阐述了为何要混合动态和静态调用,以及一些语言设计层面的考虑。如果你对 Swift 的原理机制有兴趣的话,可以读一读这篇回复。

开源项目

  1. AFNetworking:AFNetworking 已经不需要更多介绍了,它是 iOS 开发中使用最广阔的框架之一,帮助我们节省了很多网络处理相关方面的代码。本周 AFNetworking 正式升级到了 3.0 版本。相比原来的版本,新版本中添加了 tvOS,Carthage,一系列 CI 的支持,以及更好的 Swift module 导出等。

  2. Laurine:Swift 要解决的一个重要问题就是类型和对象的安全性,而直接使用字符串来访问 app 的资源其实是和这一要求相违背的。对于像是图像资源或者是 cell 或者 segue id,我们可以用 R.swift这样的工具来进行提取和组织,而对于本地化字符串来说,Laurine 就是一个类似的工具,它可以帮助你通过读取项目中的本地化文件自动生成对应的结构,让你用安全的方式来访问和使用本地化字符串、

  3. SwiftyBeaver:一个 Swift 的 log 系统,可以让你在 Xcode 或者是终端中显示彩色的输出信息。SwiftyBeaver 也支持不同级别的 log 输出,可以让我们在开发中轻易地控制输出内容,以及寻找到我们关心的输出。另外,这个框架也支持使用 Swift Package Manager 进行编译和使用在 Linux 中。

感谢徐川对本文的审校。

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

你可能感兴趣的:(iOS开发周报:iOS 9.2 发布,tvOS App Store 首月表现统计)