转载

老司机 iOS 周报 #19 | 2018-05-14

老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

iOS 11 App 上传规则变化

2018 年 7 月份开始,所有上传 App Store 的应用都必须是基于 iOS 11 SDK 编译并适配 iPhone X 的分辨率。当然,Apple 也对上传流程做了进一步的优化。更多细节,请参照:developer.apple.com/ios/submit/

What's New In Vapor 3

Vapor 3 对 Vapor 进行了彻底的重新设计,为未来几年的发展奠定了基础,让 Vapor 能够成长和进化为最好的服务器端 Swift 框架。Vapor 3 现在完美支持 Swift 4 的Codable,并且从同步阻塞架构进化为异步非阻塞架构,同时还采用 Apple 新的开源服务器端框架 SwiftNIO 来管理所有网络连接和 HTTP 解析。

在 apple/swift 的 tensorflow 分支上开发 Swift for TensorFlow

Swift for TensorFlow 的 Swift 编译器开发在 google/swift 分支上,Ted Kremenek (Swift 项目新主管)和 Chris Lattner(Swift 之父)都认为将这个分支上的工作移动到 Apple/Swift 上直接开发,对 Swift 社区更有益处。这样会让 Swift 编译器开发的协同工作集中到一个中心,而且也能避免大家对于 Swift 产生方言的担忧。

新分支 tensorflow 将会在近期创建,tensorflow 上开发的新功能,会通过 Swift 发展流程,将一部分合入 Swift 主分支,tensorflow 分支本身,也会密切追踪 Swift 主分支的更新。

Ulysses 13 将更好的支持代码展示

最好的 MarkDown 写作工具之一 Ulysses 对代码的展示一直不够友好,最近宣布将在下个版本中优化对代码段的展示,并且支持 github style。

文章

AVAudioEngine Tutorial for iOS: Getting Started

音频处理一直是 iOS 开发中非常棘手的一部分,因为在 iOS 8 之前只能使用低级的、晦涩难懂的 Core Audio 框架,但随着 iOS 8 发布了高级的音频工具集 AVAudioEngine,我们不再需要深入挖掘 Core Audio 也可以实现音频处理,这篇教程会为你介绍如何使用这个新工具。

深入了解Flutter界面开发

最近一段时间,通过学习浏览器内核的相关思想来做界面开发的框架层出不穷。从 Reactive Native、Samurai Native、Weex 到最近的 Flutter、Tangram,各个公司都结合自己的业务时间推出了对应的轮子。不过反过来想,轮子多的核心原因恰恰是其实目前还没有完美的轮子。

这篇文章并不是 Flutter 的教程,而是重点介绍了 Flutter 的渲染流程和原理,以及探讨了一些背后的 immutable 和 react 之间惺惺相惜的设计思想,很有价值。如果自己所在的团队有这类轮子需求的同学,一定不要错过。

DEALING WITH DATES

时间对于在日常生活中的我们是简单的概念,但是在编程领域却是困难的。本文介绍了在 Apple 平台下,如何利用系统框架来对时间进行正确的处理。

Codable 与 JSONSerialization 性能测试

Swift 4 的新功能 Codable 可以自动生成解析 JSON 的构造器,但这些自动生成的代码跟我们手写的有什么区别呢?这篇文章的作者写了一个性能测试去比较 JSONDecoder 和 JSONSerialization,文末作者表示虽然 Codable 生成的代码效率只有手动解析的一半,但比起这点性能消耗,绝大部分情况下 Codable 带来的便利更加重要。

从源码看微信小程序启动过程

这篇文章记录了作者经过 3 个礼拜研究后,对小程序框架的基本代码结构,启动流程以及程序实例化过程的理解,并且从小程序的启动流程入手一步步解答了“框架对传入的对象等到底做了什么”的疑问。

Memory Leaks in Swift

Leaks相关的内容在业内虽然已经有很多文章了,但多数是以 OC 来做示例,文章从 Swift 角度讲Memory Leaks是什么、有哪些危害?为什么会发生Leak?最后重点介绍了消除Leaks的几种方式。

Making illegal states unrepresentable

作者以 URLSession 为例,大致描述了如何通过 Swift 的强类型来消除不明确的状态。在编译器的帮助下,编写出更加逻辑缜密的代码。

Capture iOS simulator video for App Preview

这里介绍了一个 XCode 模拟器的命令行小技巧,很方便的用简单的命令行来实现将模拟器中的操作录制成录像,方便上传到 AppStore 的录像展示之中,浏览该网页需要翻墙。

Best iOS hacks from Twitter: March & April Edition

3 月 和 4 月整理自 Twitter 的各种 iOS 开发、调试小技巧与冷知识,非常干的干货,推荐花时间仔细阅读,绝对会有所收获。

音视频

RWDevCon 2018 Vault Video Bundle

此系列视频收费 $99,共 18 个主题:如Serialization in Swift、Auto Layout、Clean Architecture、Android、TDD、WKWebView、ARKit、Metal等,如对其中两个主题感兴趣也就值回票价了。

内推

丁香园丁香妈妈团队招中高级 iOS 工程师

新组建的团队,有电商方面开发经验优先,有意向请发送简历到 gp@dxy.cn

百度文库 / 百度阅读,招聘 Android / iOS / Fe 高级 / 资深工程师

百度文库 / 百度阅读,招聘 Android / iOS / 前端 高级 / 资深工程师,坐标北京百度科技园,有意向请发送简历到 wangdefu@baidu.com

关注我们

我们开通了公众号,每期发布时公众号会推送消息,欢迎关注。

老司机 iOS 周报 #19 | 2018-05-14

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/wiki.atom 。

本期编辑

@没故事的卓同学@四娘@mmoaay@享耳先森@EyreFree@Damonwong@折腾范儿_味精@张嘉夫@AidenRao@Parsifal@aaaron7@方秋枋

正文到此结束
Loading...