iOS 开发周报:WWDC 2017、了解 iOS 11 SDK 新特性

  • 靛青K

2017 年 6 月 14 日

话题:iOS语言 & 开发架构

新闻

  1. Apple Special Event. June 5, 2017.:Apple WWDC Keynote 结束,带来了 iOS 11 、新版 iPad Pro、iMac、MacBook Pro、MacBook、iMac Pro、macOS High Sierra、watchOS 4、HomePod 等,以及 ARKit 和 Core ML 等令人激动的新特性。
  2. 为 Apple Watch 添点柴?苹果收购睡眠监测设备厂商 Beddit:CNBC 消息,苹果已经收购了 Beddit,这是一家做睡眠追踪硬件和软件的公司。尽管交易条款尚不清楚,但在其网站隐私政策页面的一篇文章中,Beddit 确认被收购,并表示将根据苹果隐私政策来收集、使用和披露用户信息。先前连接到 Beddit 在 Apple Watch 端应用的页面如今已被删除。

教程

  1. 开发者所需要知道的 iOS 11 SDK 新特性:本文整理了 WWDC 2017 上提到的一些开发者需要了解的新内容,包括 ARKit 、Core ML、Xcode 等。
  2. Using ccache for Fun and Profit:PSPDFKit 项目超过了 60 万行代码,并且代码量还在增长。尽管团队们致力于写简洁而高效的代码,但是这个项目很大,而且有许多边界情况需要尤其注意。在 PSPDFKit 5 for iOS 项目上,编译时间尤其成为一个令人头痛的问题:每次编译都很慢。本文使用 ccache 对编译时间进行了可观的提速,你可以从本文中了解到 ccache 的使用,并了解到当前的一些限制。本文对应还有一篇翻译文章,用 ccache 让你的编译时间飞起来
  3. Swift 开发中,为什么要远离 Heap?:WWDC 的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack。所以大家在选择数据结构时,要尽量选择诸如结构体这种存储在 Stack 上的值数据类型,而不要选择像类这种存储在 Heap 上的数据类型。本文介绍了,相比于 Stack,Heap 操作复杂体现在什么地方?
  4. 微信移动端数据库组件 WCDB 系列(二) — 数据库修复三板斧:长久以来 SQLite DB 都有损坏问题,从 Android、iOS 等移动系统,到 Windows、Linux 等桌面系统都会出现。由于微信所有消息都保存在 DB,服务端不保留备份,一旦损坏将导致用户消息被清空,显然不能接受。微信即将开源的移动数据库组件 WCDB (WeChat Database),致力于解决 DB 损坏导致数据丢失的问题。本文介绍了基本满足恢复成功率高、支持加密 DB、能处理超大的数据量、不影响体验四个需求的 DB 恢复方案。
  5. Core ML 文档翻译:苹果的 Core ML 文档翻译已经来了,还不快去学习机器学习。

开源项目

  1. Bender:神经网络组件,基于 TensorFlow models 和 Metal 。
  2. DIS_KVC_KVO:第三方 KVO 、KVC 实现。
  3. SwiftCssParser:CSS 解析组件。
  4. SplitViewDragAndDrop:跨应用拖拽封装组件。
  5. ODUIThreadGuard:UI 更新线程检查工具。

感谢徐川对本文的审校。

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

iOS语言 & 开发架构