forked from SwiftOldDriver/iOS-Weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
#3.md
157 lines (78 loc) · 8.77 KB
/
#3.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# 老司机 iOS 周报 #3 | 2018-01-15
第三期的周报如愿以偿的在周一和大家见面了。前两期的时候因为刚开始做不知道能否做到每周一更。小伙伴们在磨合了两周之后也互相有了默契。希望我们能够继续陪伴大家一起成长。
在掘金上我们也开通了专栏,如果是掘金的用户欢迎关注我们:[老司机 iOS 周报](https://juejin.im/user/5a52075e6fb9a01c9d31b107)。
## 新闻
### [国区 iCloud 账户将转由「云上贵州」运营](https://support.apple.com/zh-cn/HT208352)
2018 年 2 月 28 日起,国区 iCloud 账户将转由「云上贵州」运营。如果想要把 iCloud 的东西继续存在美区,可以参考少数派的文章:[不想停用 iCloud?不妨迁移数据到其它 Apple ID ](https://sspai.com/post/42766)。
### [英特尔处理器打补丁后,性能并没有下降很多](http://www.ifanr.com/965596)
标题已经说明一切,为了照顾强迫症我随手打几个字给你。
### [微信着手封堵 Universal Link](https://juejin.im/post/5a5371626fb9a01cb64ea37d)
恭喜微信离成为操作系统的目标又近了一步。
### [Announcing Realm Cloud: Realm Platform as a Service Beta](https://realm.io/blog/realm-cloud-beta-waitlist/)
Realm 云服务新版本开始第一轮公测啦!只需要简单的配置即可接入,现在就来试试吧:[申请试用 Beta 版](https://cloud.realm.io/),只有 500 个名额哦~申请通过的话还能以 5 折的价格购买 1 年的 Realm 云服务。
## 文章
### [移动 APP 网络优化概述](http://blog.cnbang.net/tech/3531/)
从速度、弱网、安全三个方面介绍了移动场景中的网络优化。概念清晰易懂,bang 的文章一如既往值得一读。
### [接手一个刚起步的 iOS 项目后我做了什么](https://juejin.im/post/5a5625ddf265da3e3f4c9651)
过去半年我负责一个刚起步的 iOS 项目后的工作实践总结。
### [WCDB 源码解析](http://xiangwangfeng.com/2018/01/08/WCDB-源码解析/)
介绍了微信 WCDB 的代码实现,有不少数据库的知识点。
### [[译]2017 Swift 单元测试文章资源精华](https://juejin.im/post/5a58738ff265da3e4b76b62d)
medium 上有人整理了 2017 年单元测试相关的优秀视频文章。非常值得收藏,所以我翻译了一份资源的简介。
### [[译]用Buck构建混合语言iOS项目](https://www.zybuluo.com/zb5228126/note/844203)
Buck 是 Facebook 开源的编译工具,可以提高编译时间。用来编译纯 Swift 或者纯 OC 项目都没问题,然而编译混合语言的项目则会碰到很多问题。Airbnb 在这篇文章里介绍了他们是如何解决 Buck 在混编项目中使用的问题。
### [iOS 9 之后 NotificationCenter 还需要 removeObserver 吗?](https://oleb.net/blog/2018/01/notificationcenter-removeobserver/)
iOS 9 之后,通过 selector 方式 `addObserver(_:selector:name:object:)` 不用显式 remove,但使用 block `addObserver(forName:object:queue:using:)` 依然需要在 observer 销毁之前主动调用 `removeObserver`。文中还给出了一种 `Automating unregistering` 方案。
### [Xcode 9 里一些实用的 URL](https://cocoaengineering.com/2018/01/01/some-useful-url-schemes-in-xcode-9/)
大家都知道 Xcode 9 里优化了代码版本控制的功能,甚至可以直接在 GitHub 上使用 Xcode 打开项目,这个功能主要是通过 URL 实现的,URL 并不只是支持了跳转项目的功能,这篇文章就介绍了很多其它实用的路径。
### [开源项目挣钱实用手册](https://github.com/wizicer/FinancialSupportForOpenSource)
整理了开源项目获得收入的各种方式。
### [Swift Non-Nil Values In An Array Of Optionals](https://useyourloaf.com/blog/swift-non-nil-values-in-an-array-of-optionals/)
如何优雅的过滤数组中值为 nil 的数据?你可以试试 flatMap。
### [Write your scripts in Swift with Beak](https://www.hackingwithswift.com/articles/47/write-your-scripts-in-swift-with-beak)
用 Swift 也可以轻松愉快地写脚本啦,当然,首先需要安装 [Beak](https://github.com/yonaskolb/Beak)!
## 工具
### [create dmg](https://github.com/sindresorhus/create-dmg)
dmg 是 macOS app 常用的分发格式。一行命令将你的 macOS app 打包成 dmg 格式。
### [typewriter](https://github.com/typwr/typewriter)
当不同系统之间进行数据交换时,往往要有一套特殊的数据交换格式或协议来作为中间人,比较典型的就是 JSON 和 ProtocolBuffer。而把中间数据格式转换为具体数据,实际上就是将中间数据格式进行语法翻译,翻译成系统中对应语言的代码,typewriter 就是上述问题在客户端领域的翻译器,纯 Swift 实现,值得学习和使用。
### [AutoPacking-iOS](https://github.com/stackhou/AutoPacking-iOS)
在实际的 iOS 开发、测试、发布过程中,需要不停的打各种包用于各个流程,开发人员忙于新需求实现的同时,还要花费大量时间在打包这种重复且没有意义的事情上,十分浪费精力。AutoPacking-iOS 为我们解决了这个问题,配置好参数后可以一键打包上传到蒲公英、fir.im 等内测网站或 App Store,方便快捷。
### [Step by step – The story about a code bookmarking tool](http://dyna.mo/bookmarking-tool-for-code/)
这是一个代码标签工具,可以通过简易的流程图来描述代码的行为,然后跳转到对应的代码,目前支持 Xcode / Android Studio / Sublime 等编辑器。
### [thefuck](https://github.com/nvbn/thefuck)
控制台执行命令经常报错却不能自动执行某些操作一点也不智能?一定是没有调教好,试试 thefuck,大幅提升工作效率!
## 代码
### [XLForm](https://github.com/xmartlabs/XLForm)
XLForm 是一个 iOS 表单页面的一个解决方案。可以解决各种复杂交互的表单页面,功能十分强大。用 OC 实现,代码质量很高,其设计思想也很值得学习,是一份很不错的源码学习内容。
比较有意思的一点是,XLForm 的 Swift 版本 Eureka 并不是单纯的翻译 XLForm,而是用一种全新的方式去实现相同的功能,通过大量的函数符重载,让写出来的代码特别清晰。
但是,我觉得对于大部分的 app 来说,没有太过于复杂的表单需求,所以没有太大的必要引用这个库去实现一些简单的表单页面。会给人一种,用复杂的工具去解决简单的问题的感觉。
当然,如果是一个类似系统设置的 app 来说,使用 XLForm 一定是首选之一。
### [iOS 性能优化合集 ](https://github.com/skyming/iOS-Performance-Optimization)
关于 iOS 性能优化梳理:基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、安装包瘦身、启动优化、网络优化等。
### [CollectionViewSlantedLayout ](https://github.com/yacir/CollectionViewSlantedLayout)
**CollectionViewSlantedLayout** 是一种 UICollectionView 的布局,实现了倾斜卡片的布局样式。同时支持纯代码使用和 Xib 配合使用。
## 书
### [React Native 应用开发实例解析](https://www.amazon.cn/dp/B077S8V6GQ)
共五章,前两章介绍 React Native 的历史发展和基础知识,包括原生组件和第三方库;余下三章则分别介绍三个企业应用——Myagi、TinyRobot 和 Fixt,探讨了当今业界使用 React Native 的方式,以及生产环境下需要注意的问题和相应对策。
适合想初步了解 RN 开发的开发者。
## 音视频
### [Checked #51: 准确表达与善意理解](http://checked.fm/51)
51 期聊了苹果的降频门。
### [Swift Talk #82 Refactoring Imperative Layout Code](https://talk.objc.io/episodes/S01E82-refactoring-imperative-layout-code)
这一期的 Swift Talk 通过实现一个简易的 FlowLayout 来为我们介绍如何使用函数式去重构布局代码。
## 招聘
### [36氪: iOS Leader](https://www.lagou.com/jobs/4025262.html)
北京 D 轮,使用 Swift 开发哦。
### 流利说: 资深 iOS 开发
上海,使用 Swift 开发,业内口碑巅峰。感兴趣微博联系 hr: [JaniceWU贾尼丝](https://weibo.com/wujt3583)。
hr 表示:
> 我们也有很多不足的,比如说始终因为要求太高招不到足够的人。
### [基础架构开发工程师](https://www.lagou.com/jobs/2848214.html)
B 站搬到新地方后业务依然迅速发展。喜欢 B 站的朋友可以试试。
### [喜马拉雅 iOS leader](https://www.lagou.com/jobs/3887089.html)
上海 D 轮。
## 本期编辑
[@没故事的卓同学](https://weibo.com/1926303682/profile),[@四娘](https://kemchenj.github.io),[@mmoaay](https://weibo.com/u/1302422271),[@享耳先森](https://github.com/iblacksun),[@EyreFree](https://weibo.com/eyrefree777),[@Damonwong](https://weibo.com/damonone)
## 说明
🚧 表示需翻墙