forked from SwiftOldDriver/iOS-Weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
#2.md
142 lines (79 loc) · 8.26 KB
/
#2.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
# 老司机 iOS 周报 #2 | 2018-01-08
老司机 iOS 周报,只为你呈现有价值的信息。
## 新闻
### [TIOBE 2017年度语言揭晓:哦,我的上帝,是古老的 C](https://www.tiobe.com/tiobe-index/)
今年 C 语言并没有很强势,只是也没有其他增长很突出的语言,C 的增长率 1.69% 就成为了佼佼者。亚军是 Python ,增长了 1.21%。
2018 年 1 月的排行中,Swift 排名 12,OC 18,相比去年略有提升。
### [集成 iCloud、Passbook 或订阅类 iAP 将导致 App 无法转移](https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html)
集成过 iCloud, Passbook 或订阅类 iAP 将导致 App 无法转移到别的开发者帐号,即使之前集成过,新版禁用也不行。
### [Apple 拿下 iPhone X 外形设计专利](http://www.patentlyapple.com/patently-apple/2018/01/apple-wins-patent-for-iphone-x-design-and-carplay-with-turn-by-turn-navigation.html)
美国专利商标局报告显示,苹果已经拿到了 iPhone X 的外形设计专利。不过据最新报道,此专利并非针对「刘海」造型提出,而是著重边框上的按键、天线断点、扬声器等处细节。另外,iPhone X 的「刘海」部分集成了多达 8 个传感器(比 iPhone 8 多 3 个),分别是红外镜头、泛光感应元件、点阵投影器。
### [让所有科技巨头“焦头烂额”的intel漏洞是什么](https://zhuanlan.zhihu.com/p/32679604)
Intel CPU 爆出史上最大漏洞。腾讯安全联合实验室的[这篇回答](https://www.zhihu.com/question/265012502/answer/290018306)详细的介绍了漏洞的原理和影响。
## 文章
### [程序员如何在技术浪潮的更迭中保持较高的成长速度 ](https://juejin.im/post/5a4e296e51882573315c2917)
冰霜的 17 年总结,标题改成《我是如何从霜菜到霜神》也不为过。技术人员都要面对如何成长的问题,冰霜在文章中结合自身介绍了他是如何进行高效学习的,值得借鉴思考。
### [QUIC 协议初探 - iOS实践](https://mp.weixin.qq.com/s/NbewZ1NU49qSjIcdFrpotw)
QUIC(Quick UDP Internet Connections)是基于 UDP 的 WEB 开发协议 `TCP + TLS + HTTP2 = UDP + QUIC + HTTP2’s API`,由 Google 开发,希望其取代 TCP,加快网页传输速度。还计划提交至 IETF,成为下一代的正式网络规范。文中详细介绍了 iOS 平台下集成方式及与 HTTP2 的对比数据。
### [Basics of parallel programming with Swift](https://medium.com/flawless-app-stories/basics-of-parallel-programming-with-swift-93fee8425287) 🚧
非常详细的介绍了 Swift 中并发编程涉及到的概念,你值得拥有。
### [如何实现 React Native 里的页面导航系统](http://tech.glowing.com/cn/all-about-routing-and-navigation-in-react-native/)
RN 的导航和跳转一直是一个需要解决的问题。作者总结对比了现有的几个开源方案,并阐述了自己的解决思路。
### [阮一峰:比特币入门教程](http://www.ruanyifeng.com/blog/2018/01/bitcoin-tutorial.html)
数字货币已经成为新的风口。文章从技术角度通俗易懂的介绍了比特币的技术原理及基本概念。
### [Detecting screen capturing in iOS 11](https://medium.com/@abhimuralidharan/detecting-screen-capturing-in-ios-11-cca15881c785)
随着教育、娱乐等领域付费视频服务的兴起,怎样防止付费内容的流失与传播成为了一个很重要的问题,本文详细阐述并演示了如何在 iOS 11 上实现对用户屏幕录制或镜像操作进行侦测的方法,值得一看。
## 工具
### [App Sight](https://www.appsight.io)
查看主流 app 都用了哪些第三方服务和 SDK 。
## 代码
### [Kickstarter 开源了他们的客户端](https://github.com/kickstarter/ios-oss)
Kickstarter 开源了他们的客户端代码,里面有非常多可以学习的内容,例如:
- **AppEnviroment 的抽象**:所有状态都用一个全局的 `Enviroment` 去保存,包括了缓存,设备状态,用户等等,有了这一个抽象的存在就意味着测试时可以随意模拟和切换状态,在测试和监控复现 bug 时非常有用。
- **可运行的文档**:使用 Playground 去搭建 API 文档,UI 的格式可以通过 PlaygroundLiveView 即时查看,构建出了一个类 REPL 的调试环境出来。并且每次 pull request 也会尝试编译 playground 里的代码,如果 API 进行了修改,那就让我们知道该更新文档了。美中不足是目前 Playground 对于 framework 的支持很一般,我们使用 Carthage 或者 Cocoapods 的话需要做很多 setup 才行。
- ...
相关资料:
- [Kickstarter 工程师参与的一期 Swift Talk](https://talk.objc.io/episodes/S01E47-view-models-at-kickstarter)
- 在 Kickstarter-iOS 源码中学到的 [(一)工程相关](https://zhaoxinyu.me/2017-07-08-ios-oss-1/)[(二)代码相关](https://zhaoxinyu.me/2017-07-09-ios-oss-2/)
### [RxFlow](https://github.com/RxSwiftCommunity/RxFlow)
RxSwift 社区推出的基于 Coordinator 模式的响应式导航框架。
### [LSAnimator](https://github.com/Lision/LSAnimator) by [Lision](https://weibo.com/u/5071795354)
基于多维链表实现的 iOS 链式动画库,相比业界另外一个知名 Swift 动画库 [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable),有如下特性:
- 支持多链式动画,并发执行多条动画链;
- 每个动画节点采用 `CAAnimationGroup` 实现,从而支持单动画节点复合动画;
- 提供 OC 版;
- 侧重于对动画的深度定制。
### [OOMDetector](https://github.com/Tencent/OOMDetector)
OOMDetector 是腾讯开源的一个 iOS 内存监控组件,应用此组件可以帮助你轻松实现 OOM 监控、大内存分配监控、内存泄漏检测等功能:
- OOM 监控:监控 OOM,Dump 引起爆内存的堆栈;
- 大内存分配监控:监控单次大块内存分配,提供分配堆栈信息;
- 内存泄漏检测:可检测 OC 对象、Malloc 堆内存泄漏,提供泄漏堆栈信息。
### [DeepDiff](https://github.com/onmyway133/DeepDiff)
大家在工作中应该经常遇到数据集合更新,然后我们手动 diff 之后刷新 TableView 的情况,但这样的代码重复也容易出错。
DeepDiff 这个框架把这个过程地封装了起来。只要我们直接传入旧的集合和新的集合,然后把 diff 的结果交给 TableView 直接刷新就可以了,下面是代码示例:
```swift
let changes = diff(
old: oldItems,
new: newItems,
reduceMove: true
)
tableView.reload(changes: changes, completion: { _ in })
```
并且它在性能方面的表现也很棒,官方的介绍页里有一个简单的性能对比,排名第一。
### [quicktype](https://github.com/quicktype/quicktype-xcode)
quicktype 可以根据给出的 JSON 数据推断出数据类型,然后输出具体的类型模型,支持 Swift、C++、Go、Java、C# 等语言。支持 Xcode 9,使用得当可以给我们的开发带来一定的便利。
## 书
### [音视频开发进阶指南:基于Android与iOS平台的实践](https://www.amazon.cn/gp/product/B078PFKS38)
作者是唱吧的音视频架构师。全面的介绍了音视频开发的基础知识,也结合了移动开发的相关技术(FFmpeg、OpenGL ES)进行了介绍。
## 音视频
### [阿尔法狗 AlphaGo 2017](https://www.youtube.com/watch?v=9UewW8sF4gs) 🚧
阿尔法狗(AlphaGo)官方纪录片,全方位展示了人机大战的过程,更尽可能多地揭示了人类思维和未来人工智能的工作方式。
### [Testing in iOS](https://videos.raywenderlich.com/courses/105-testing-in-ios/lessons/1?_ga=2.95277404.1190247701.1515328410-485821952.1502437076)
raywenderlich 的付费视频课程(第一部分可以免费观看)。视频课程分为:单元测试基本概念、单元测试实战和 UI 测试实战三个部分。
## 本期编辑
[@没故事的卓同学](https://weibo.com/1926303682/profile),[@四娘](https://kemchenj.github.io),[@mmoaay](https://weibo.com/u/1302422271),[@享耳先森](https://github.com/iblacksun),[@EyreFree](https://weibo.com/eyrefree777)
## 微信打赏
感谢您的支持。
![微信支付](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/payment.jpeg)
## 说明
🚧 表示需翻墙