iOS 开发周报:Swift 开源新消息,CocoaPods 获得 Capital One 支持

  • 王巍

2015 年 11 月 4 日

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

新闻

  1. Swift 开源新消息:在今年 WWDC 上 Apple 承诺 Swift 将在年内开源。今年只剩下最后两个月了,而 Swift 开源却一直没有其他特别的消息,猜测的声音也逐渐多了起来。最近 Swift 的创始者,Apple 编译器和开发工具团队的负责人 Chris Lattner 现身 Reddit,给出了关于 Swift 开源的一些信息。他表示包含 Linux 支持的 Swift 将按照预定在 2015 年底开源,并将在之后再给出一些详细信息。距离 Swift 开源的日子已经越来越近了,让我们静静等待吧。

  2. 第四代 Apple TV 上市,TV App Store 正式开业:被 Apple 寄予厚望的代表电视未来的第四代 Apple TV 已经上市了,随着这款产品的正式发售,新平台的 App Store 也正式开业。第三方开发者现在可以开发和提交针对电视平台的 app 了,以 Apple 拥有的开发者数量来看,这在机顶盒行业里这绝对会是里程碑式的事件。不过略微遗憾的是首发地区中并不包含中国,而新款 Apple TV 也暂时无法用中国区的 Apple ID 进行使用。不知道 Apple TV 有没有可能在近期通过层层审核,在中国上市,这对国内 iOS 开发者来说也是一个非常诱人的机会。

  3. CocoaPods 获得 Capital One 支持:CocoaPods 是 iOS 开发中很常用的以来管理工具,这周 CocoaPods 宣布获得了 Capital One 这家企业的支持。在成为开发包管理的事实标准以后,CocoaPods 一直在依赖稳定性和 iOS,watchOS 和 tvOS 等不同平台支持上进行着努力。在获得资金支持后,CocoaPods 也宣布了 1.0 版本的开发进展。企业支持开源项目的做法在一方面是对开源社区和开发者的回馈,另一方面也可以为收获名声和提高在开发者心目中的地位,可以说是一举两得的做法。

教程

  1. 《Parse 源码浅析系列(一)---Parse 的底层多线程处理思路:GCD 高级用法》:在之前的周报中我们曾经提到过 Parse 开源后一些值得一看的内容。这篇文章对 Parse 中的离线保存相关功能的实现进行了一些解读和分析,并以此展开了 Dispatch Source 和 Semaphore 这些在 GCD 里比较深入的应用的说明。文章写得非常详细易懂,很值得一看。

  2. 《iOS 原生扫 QR 码的那些事》:在实现扫描二维码相关的需求,大家都可能接触过 ZXing 或 ZBar 这类第三方扫码库。但是从 iOS 7 开始,我们就可以通过 AVFoundation 中相关的方法,而不依赖第三方库来完成基本的二维码扫描的操作了。这篇文章通过例子为我们阐释了如何使用相关 API 来实现二维码扫描以及识别。

  3. 《Enumerating tuple values in Swift》:Swift 中的 tuple 默认是不能进行循环访问的,但是很多时候其实我们可能会有类似的需求。这篇文章里作者利用 reflection 的方法很巧妙地实现了 tuple 多元组的循环访问。虽然最终在性能上可能存在一些问题,但是也为我们展示了 Swift 的另一种可能性。

开源项目

  1. PhoneNumberKit:一个用来解析,验证和处理不同格式电话号码的框架。处理用户输入或者其他来源的电话号码其实并非看上去那么简单,你需要考虑到除了国家代码,用户不同的输入习惯,空格横线的可能性等等一系列要素。这个框架为我们隐藏了不少实现细节,可以快速地完成和电话号码打交道的任务。

  2. Apple 开源加密库底层实现:iOS 和 OSX 开发中我们很多时候都会用到一些加密算法,这些算法基本都集中在 Security 框架Common Crypto 库中。本周 Apple 将这两个框架的实现,以及它们所以来的一个更底层的实现 corecrypto 进行了开源。对于一般开发者来说这可能没有特别大的意义,但是作为跨国企业来说,安全方面的公开透明无论如何强调都是不为过的。现在在 Apple Open Source 的网站上已经可以下载到这些框架的源代码了,不过说实话,这个网站体验并不很好,希望之后 Swift 开源能有一种更好的形式。


感谢徐川对本文的审校。

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

移动iOS语言 & 开发架构