新闻
- Apple 加速应用商店审核过程,平均时间由九天下降为两天%EF%BC%9A):审核周期过长一直是 App Store 生态中的一个严重问题,这使得第三方开发者难以快速迭代和更新版本。不过这也让开发者们对于 iOS app 的提交更加谨慎。最近,开发者发现 Apple 明显加快了应用审核的速度,之前对于一个应用的审核一般需要一周还多,而现在往往在提交第二天就能得到结果。这被认为是 Apple 希望开发者忠于平台,并且能以更快速度递交应用的重要举措。
- 6 月 1 日起所有提交的 app 都需要支持 IPv6 网络:IPv4 地址告罄已是事实,Apple 又一次走在了推动新标准的前列。Apple 规定从下个月初开始,开发者所提交的应用必须能够支持只有 IPv6 的网络条件。如果你只是使用了
NSURLSession
这样的高层级 API 的话,应该不需要做什么额外的工作。但是要是你用了一些底层级网络相关 API,就可能要进行额外的修改才能完全支持 IPv6。Apple 在这里给出了适配 IPv6 的指南,如果你有更改的需求,可以按照这份说明进行调整。 - Apple 向滴滴打车投资 10 亿美元:本周滴滴打车宣布了其新一轮融资的进展,其中 Apple 公司以 10 亿美元(约合人民币 65.21 亿)投资滴滴,是滴滴迄今为止获得的单笔最大投资。另外也有消息表明,Apple 可能在中国版的 iOS 10 中将滴滴打车作为系统预装软件推出,或是在 CarPlay 上进行整合。如果属实,这将是 Apple 在中国市场的一次重要布局。
教程
- 用 ReactiveCocoa 事半功倍的写代码:函数式响应编程是一门学习曲线比较陡峭的技术,作者结合自己的学习过程和使用经验,为我们带来了一个完整的使用 ReactiveCocoa 实践函数式编程的系列教程。我们很难脱离代码和实际使用场景来将函数式响应编程的原理讲清楚,而在明白原理后,往往也会不知道如何使用这个强大的工具来处理开发中遇到的现实问题。作者在这个系列教程里通过一些 demo 向我们完整展示了可能的使用场景和对应方法,非常值得一看。
- Quartz2D 编程指南:Quartz2D 是一个支持 iOS 和 OS X 二维图形绘制引擎,通过 Quartz2D 或者 Core Graphics 框架,我们能够完成 app 开发中绝大部分图像绘制的任务。但是相对于其他更高层级的 API,这部分内容需要我们考虑的事情相对较多,也更为复杂。作者在这份编程指南中为我们描述了 app 开发中图形绘制的一些最常见任务的处理方法。
- Building Slack Bots In Swift :Swift 现在已经是一门跨平台的语言,这极大拓展了 Swift 的使用场景,以及 Swift 开发者们能够做的事情。这篇文章讲述了作者自己使用 Swift 开发一个 Slack 聊天机器人的过程,其中用到了不少 Swift 服务器开发的基础技术,从中你可以一窥 Swift 服务器端开发的门径。
- CocoaPods 1.0 :CocoaPods 可以说是 iOS 开发者最常依赖的一款包管理工具,本周,在 CocoaPods 正式公布五年之后,这款工具终于迎来了 1.0 正式版。1.0 中包含了更准确和完善的 Podfile DSL 描述,自动反集成,通过将框架集成至实际项目来检查可用性等等一系列新特性。CocoaPods 的这篇官方博客为我们详细介绍了 1.0 版中的新功能以及我们所需要做出的改变。
开源项目
- Render :React 在前端开发中的地位现在如日中天,先不论 React 是否真的是万灵丹,它将 UI 进行组件化的思想如此受欢迎,想必是有其值得借鉴之处的。Render 是一次将 React 的开发方式带到 iOS 应用开发中的尝试。与传统的 UI 构建方式相比,组件化的 UI 可以用来描述某个状态下的 UI 情况,这在一定程度上可以使 Controller 与 UI 分离,是一种值得探索的界面开发方式。
- Build Time Analyzer for Xcode :一款 Xcode 插件,可以用来统计项目中的文件的编译时间,帮助你找到编译花费时间最长的源文件和方法。对于大型项目来说,编译时间太长是导致开发效率降低的最主要和最直接的原因,如果我们能够压缩编译时间,那么工程师也就会更有动力进行多次部署和调试。你可以通过这款插件的统计,有目的地对源码进行优化,以提高开发效率。
- Interpolate :一个用来创建交互式手势动画的插值框架。Interpolate 把所有的动画都看作是属性值随着时间进行改变的插值,并以类型安全的方式来创建随时间变化的动画属性值。这个框架在制作交互式教程或者一些复杂的手势动画时会十分灵活有用。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论