iOS 开发周报:App Store 可能新加入订阅制收费方式,Google 推出 TensorFlow iOS 版本

  • 王巍

2016 年 6 月 13 日

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

新闻

  1. App Store 2.0,Apple 可能修改 app 付费模式和分成方式:国外科技媒体 The Verge 最近透露,在对 Apple App Store 负责人 Phil Schiller 的一次采访中,后者表示最近可能会对 App Store 的现行机制进行大幅改革。除了之前已经得到确认的为搜索结果加入一个付费推广 app 的展示外,新的 App Store 可能会推出新的订阅制付费模式。与现在的只有持续提供内容的杂志和服务等才能使用订阅付费模式不同,普通的 app 也将可以使用订阅模式,持续地向用户收取费用并提供更新。另外,Phil 还表示可能会考虑降低 Apple 对于订阅模式第二年开始的付费分成,将传统的 30% 的收费分成降低到 15%。
  2. WWDC 于本周在旧金山召开:一年一度的 Apple 全球开发者会议在本周于旧金山召开。在会议 Keynote 上,Apple 将宣布新的 iOS 系统和 macOS 系统。作为一个开发者会议,近年来由于 Apple 在移动平台的成功和科技界地位的提升,也受到了很多非开发者的关注和追捧。不过,对于开发者来说,更重要的应该还是把握生态发展的方向,以及学习最新的技术。
  3. Google 发布 TensorFlow iOS 版本:如果你对前不久 Google AlphaGo 五番棋大败李世石的事件有过关注的话,可能会知道背后支持 AlphaGo 的人工智能和机器学习的软件就是 TensorFlow。TensorFlow 在去年 11 月就已经开源,科学计算和人工智能的相关从业及研究人员已经可以使用它来完成工作。而本周 Google 发布了一个 TensorFlow 的新版本,其中包含了对 iOS 系统的支持以及一个在 iOS 上进行机器学习的例子。这意味着开发者有可能很容易地在 iOS 应用中加入一些轻量级的机器学习内容,来让 app 更加智能和符合用户习惯。当然,这只是最初步的使用场景,也许开发者们还能挖掘出移动 app 和人工智能更好的结合点,并以此掀起一场 app 的革命。

教程

  1. Swift 化的视图控制器展示:一篇来自 Realm 的翻译文章,View Controller 在 iOS 开发中的职责非常重要,而 app 制作开发时最常见的错误莫过于赋予 View Controller 太多的功能,而使其臃肿不堪,无法维护了。这篇文章为我们介绍了使用 Swift 化的 API 来重新审视和定义视图控制器的常见操作,并以此为基础,对视图控制器的实现方式进行了简化。
  2. Mac 应用开发基础教程:随着 iOS 的成功,Mac 设备在国内的占有率也在逐渐上升。因为使用的语言和思维方式类似,所以不少 iOS 开发者也对 Mac 开发产生了兴趣。但是和 UIKit 不同,Mac 开发的 AppKit 相对历史包袱要多一些,使用起来也和 iOS 开发有不少区别。这本书对 Mac 开发的组件使用和开发方式进行了一些说明,让读者可以理解 Mac 平台开发的基础知识。如果你对 Mac 开发有兴趣的话,用来入门会是不错的选择。
  3. Creating and Distributing iOS Frameworks:如果在你的两个 app 中有共享的代码部分,那么将它们提取出来创建一个框架进行代码共享和维护一般都是很好的主意。本文介绍了对代码进行封装,并在不同平台进行重用的方法。最后,文章也涉及了如何发布在 CocoaPods 等方面的内容。如果你有计划发布和维护开源框架的话,本文会是很好的入门指导。

开源项目

  1. hopper-swift-demangleHopper是 OS X 下的一个二进制反编译工具,我们可以用它来对编译后的二进制文件进行反编译来探索实际的行为。但是对于 Swift,由于存在 mangling,所以我们得到的反编译结果阅读起来会十分困难。这个插件将 Swift 的编译符号进行了还原,能让我们更容易地研究 Swift 二进制的反编译结果。
  2. PinpointKit:这个框架可以让用户或者测试者通过简单的手势来向你发送带有标注的截图反馈或者是输出日志。你既可以将它用作实际产品上线后的用户反馈渠道,也可以作为内部测试时加速交流的工具。
  3. Flow:虽然基于过程的编程方式在很多时候并不是一个维护大型项目的可行方式,但是在一些像是游戏脚本或者任务脚本开发中,将各个操作进行组合还是很常见的。Flow 框架为“基于操作的编程”提供了一套简单的 API 调用方法,能让我们很容易地将各个操作级联和组织起来,而不论它是同步操作还是异步操作。

感谢徐川对本文的审校。

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

移动iOS语言 & 开发架构