文章目录
  1. 1. 新闻
    1. 1.1. 苹果解释 Dash 下架的原因
    2. 1.2. Swift 4
    3. 1.3. iDev 大会
  2. 2. 文章
    1. 2.1. 闭包的 escaping 与 non-escaping
    2. 2.2. 把第三方 iOS 应用转成动态库
  3. 3. 视频
  4. 4. 工具
  5. 5. 有趣

新闻

苹果解释 Dash 下架的原因

上周关于 Dash 被苹果下架的事情有了来自 苹果的解释,苹果说 Dash 进行了刷榜,具体来说,是在 Dash 的评价中发现了一些明显带有欺骗性的评分。苹果同时说这个决定是最终的,并且不可申述(final and can’t be appealed),所以这件事情可能最终的结果就是这样了。

我们从这件事情中可以看出,苹果对于刷榜的行为变得越来越严厉了。但是在国内,刷榜的行为还是普遍存在,而且大多数都没有受到惩罚。例如,我们公司的三款产品都没有刷榜,但是我们的竞争对手其实都有明显的刷榜行为。希望苹果能够有机会也整治一下国内的环境,让大家都在一个公平的环境中竞争。

Swift 4

是的,Swift 4 开始开发了,在 Swift 4 在 GitHub 的主页上,苹果公布了 Swift 4 的 主要目标。时间上,苹果计划在 2017 年晚些时候正式发布 Swift 4。苹果希望将 Swift 4 的开发分为两个阶段:

  • 第一阶段:关注于核心的一些需求,以及 ABI 的稳定性。苹果不希望在 Swift 4 中引入 ABI-breaking 的改变。
  • 第二阶段:该阶段希望在 2017 年春能够开始讨论,在第一阶段的任务完成后,可以增加一些或大或小的新特性。

iDev 大会

iDev 大会是一场由开发者自己办的技术会议,会议内容主要面向苹果的开发者,我是这次会议的出品人。

今年 iOS 的话题其实集中在 Swift 语言、函数式编程、跨平台方案,所以这方面的话题本次大会都有涉及。另外 iOS 安全一直是被人们较为忽视的一个方面,本次大会我在这方面也特别有设计议题讨论。

考虑到 iDev 大会希望涉及苹果全平台的技术,所以本次大会我们也安排了关于 macOS、watchOS 和 HomeKit 的议题。

对了,购票时输入我的优惠码:tangqiao,可以获得折扣票价再打 85 折哟。你也可直接访问以下网址获得优惠过的价格:
http://www.bagevent.com/event/207773?discountCode=tangqiao

文章

闭包的 escaping 与 non-escaping

Optional Non-Escaping Closures: 本文讨论了 Swift 中的闭包的 escaping 的情况。所谓 escaping,就是指闭包在作为参数,传递给相应函数之后,相应函数执行完成了,但是闭包可能还需要被调用。所以,这个闭包似乎是逃离(escaping)了函数的作用时间。因为按理说函数执行完了,相应的参数应该就没用了,但是对于 escaping 的闭包,却不是这样。

什么情况下会出现这种情况呢?最常见的场景就是异步调用。比如我们发起一个网络请求,传入了一个闭包作为回调参数。这个闭包显然需要在网络请求结束时,才会被调用,这就是一个 escaping 的闭包。类似的还包括:我们把一些闭包放到 GCD 提供的 Dispatch Queue 中,也会造成 escaping 的闭包。

在本文中,作者讨论了一种比较特别的现象:只要一个闭包是 Optional 的,则它一定会是一个 escaping 的闭包。作者讨论了产生此问题的原因,并且提供了一些解决方案。

把第三方 iOS 应用转成动态库

《黑科技:把第三方 iOS 应用转成动态库》,本文介绍了一个自己写的工具,能够把第三方 iOS 应用转成动态库,并加载到自己的 App 中,文章最后会以支付宝为例,展示如何调用其中的 C 函数和 OC 方法。另外,本文首发在我的微信公众号:iOSDevTips 中,如果你还没有关注过,请扫码关注哟:

视频

本周视频推荐 objc.io 出的一期视频:手写一个 Parser

工具

本周推荐的工具,是一个 Xcode 8 的效率工具。它可以方便你在任何时候输入需要 import 的内容。其实这类工具在别的平台都是 IDE 自动提供的,以前我在用 Eclipse 写后台的时候,用了一个需要 import 的库的类,只需要按 cmd + shift + o,IDE 就会自动把这些需要 import 的头文件帮你填上,以节省时间。Xcode 在这方面,还有挺多需要加强的。Anyway,Xcode 的 extension 这个机制也让我们能够自己动手丰衣足食了。

该工具在 GitHub 上的地址是 Import,以下是使用起来的效果动画:

有趣

本周的趣图来自 汤圣罡,由苹果的各种配件组成的一个笑脸,愿大家都有一个愉快的一天。