iOS开发周报:iPhone 6s 本周发货,Dropbox 开源组群通讯工具

jopen 9年前

 

新闻

  1. iPhone 6s 本周发货,国内供货稳定 :本次 iPhone 6s 是大陆地区第二次进入全球首发地区。和两年前的 iPhone 5s 时的火爆场面相比,今年的首发显得并没有那么火爆。一方面是因为网购和快递的便利性越来越深入人心,另一方面消费者对于 iPhone 作为一款普通消费品的价值也有了更好的认识。最为热门的玫瑰金现在在官网购买的话,预计发货为一到两周。在之后不久应该就会开放在 Apple Store 直接购买。不过新设备拥有速度惊人的 Touch ID,3D Touch 带来的可能性,随时待命的 Siri,Liveing Photo 和 2GB 的内存等一系列新特性,还是很值得关注。这里有一篇第一时间的 评测 可以帮助你了解这款 iPhone。

  2. 苏宁易购 iOS 项目代码泄露 :上周 XcodeGhost 风波未平,这周苏宁易购的项目泄露事件又起。一名 ID 为 gdby 的用户将苏宁易购的整个 iOS 项目上传到了 GitHub 的公开仓库,并在众多国内开发者的 “努力” 下携 2000 余次 forking 一举冲到了 GitHub 排行榜第一 。由于苏宁官方还并未对此事作出回应,所以现在无法确定这是因为员工工作失误导致,还是个人的恶意行为。不过不论如何,这再一次为开发者和企业敲响了安全意识的警钟。

教程

  1. RxSwift 入坑手册 Part0 - 基础概念RxSwift 是一个帮助你在 Swift 语言中使用 Reactive 概念进行编程的框架。最近 ReactiveCocoa 也推出了适合 Swift 的 3.0 版本。和 ReactiveCocoa 相比,RxSwift 显得更加学院派一些,算是根正苗红地继承了 Rx.NET 的思想。如果你打算尝试的话,这篇文章和配套的 Playground 会是不错的示例。

  2. Beginning tvOS Development with TVML Tutorial :相比于新的 iPhone 和 iOS 9 SDK,今年开发者所面临的最大变化其实是两个新平台 watchOS 和 tvOS。Apple TV 在国内上架的可能性并不大,但是在国外市场 Apple TV 还是很受欢迎的产品。带有 App Store,可以进行 app 开发的 Apple TV 肯定会改变客厅的面貌,如果你打算面向全球用户,这绝对是一个非常好的新机会。Raywenderlich 的这篇教程为我们介绍了用 TVML 来快速开发 tvOS 应用的方法。

  3. Swift 2.1 :本周 Apple 发布了 Xcode 7.1 的第二个 beta 版本,其中包含了 Swift 2.1。新版本的 Swift 中强化了与 C 的协作,提供了更好的字符串输出,支持 协变与逆变 等。另外,在 Swift 2.0 中的一个 bug 也得到了修正。

开源项目

  1. zulip-ios :Dropbox 以 Apache Licens 2.0 为协议开源了一个群组聊天工具 zulip 。你可以在自己的服务器上运行这套工具,可以说是企业实时交流的好工具。开源的部分包括全部的服务器端和客户端,不论是对于专注于 iOS 的开发者还是对于以全栈为目标的工程师,这个完整项目都是很好的参考和学习对象。

  2. BluetoothKit :Apple 在 iOS SDK 中提供了 CoreBluetooth 以方便开发者使用蓝牙特性,但是因为作为通用库,CoreBluetooth 必须包含所有的蓝牙特性和稍微低层的抽象,这导致直接使用 CoreBluetooth 来做开发会有一定困难,即便是最简单的数据传输和通讯都需要不少工作。BluetoothKit 在其上进行了封装,提供了一个更为简单和高层的蓝牙通讯 API。

  3. Neon :Auto Layout 为我们提供了在不同屏幕尺寸的布局时的灵活性,但是直接使用 Auto Layout 来布局面临着一些问题,其中最为严重的就是约束添加的难度以及可读性不强。针对这个问题,已经有像 Masonry (或者在 Swift 下对应的 SnapKit ) 来解决。与这种思路不同,Neon 更倾向于使用锚点和边角关系来定义布局,为我们提供了一种新的布局思路,有兴趣的朋友可以看看项目介绍页面上的例子。

  4. SwiftGo :当 Swift 遇到 Go 会如何?Go 的并行特性是这门语言最大的特点之一,SwiftGo 这个项目提供了一种在 Swift 中使用类似 Go 的并行特性的方式。最大的亮点在于整个项目是不依赖像 Foundation 这样的 Cocoa 框架的,是一个纯正的 Swift 实现,也就是说,在 Swift 开源后,我们可以在其他平台 (比如 Linux) 上使用这个框架。相信随着 Swift 开源的邻近,如何用 Swift 跨平台开发会逐渐成为一个热门话题。