Skip to content

Commit

Permalink
Merge branch 'master' of github.com:SwiftOldDriver/iOS-Weekly
Browse files Browse the repository at this point in the history
# Conflicts:
#	Reports/SwiftOldDriver#49-2018.12.24.md
  • Loading branch information
tom510230 committed Dec 24, 2018
2 parents 3188d0f + ac7ad99 commit 1009999
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 19 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

- <details><summary>邮件订阅:点击顶部 Watch 按钮选择 Release Only 模式</summary><p><img src="/assets/release_only.png" alt style="max-width=100%;"></p></details>
- <details><summary>公众号:OldDriverWeekly</summary><p><img src="/assets/qrcode_for_wechat.jpg" alt style="max-width=100%;"></p></details>
- RSS:[点击订阅](https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom)
- RSS:[点击获取 RSS 源](https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom)
- 掘金:[老司机 iOS 周报](https://juejin.im/user/5a52075e6fb9a01c9d31b107/posts)

## 编辑
Expand Down
34 changes: 16 additions & 18 deletions Reports/#49-2018.12.24.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@
除新增的邮件模式之外,我们还提供了以下三种方式,大家可以按照自己的需求进行选择:

- 公众号:[OldDriverWeekly](https://github.com/SwiftOldDriver/iOS-Weekly/raw/master/assets/qrcode_for_wechat.jpg)
- RSS:[点击订阅](https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom)
- RSS:[点击获取 RSS 源](https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom)
- 掘金:[老司机 iOS 周报](https://juejin.im/user/5a52075e6fb9a01c9d31b107/posts)

### [Cydia 商店宣布关闭,这对 iOS 越狱有这些影响](https://www.ithome.com/html/iphone/400752.htm)
- Saurik 决定关闭的仅仅只是 Cydia Store,也就是其中的支付系统,不会影响原有的安装/卸载/管理应用程序的功能,免费或已经付费的应用,依旧可以进行下载如果希望继续购买付费应用,需要去其他存储库(如Packix,Chariz或Dynastic Repo)进行下载
- Saurik 决定关闭商店跟一个 BUG 有关,其可以通过用户的PayPal帐户启用任意Cydia Store软件包购买
### [Cydia 商店宣布关闭](https://www.ithome.com/html/iphone/400752.htm)

对 iOS 越狱有这些影响:

- Saurik 决定关闭的仅仅只是 Cydia Store,也就是其中的支付系统,不会影响原有的安装/卸载/管理应用程序的功能,免费或已经付费的应用,依旧可以进行下载如果希望继续购买付费应用,需要去其他存储库(如 Packix,Chariz 或 Dynastic Repo)进行下载
- Saurik 决定关闭商店跟一个 BUG 有关,其可以通过用户的 PayPal 帐户启用任意 Cydia Store 软件包购买
- Sileo 是 Cydia 的计划替代品,但是其还在开发阶段

## 文章
Expand All @@ -32,13 +35,13 @@

### 🐕 [Mocking With Protocols in Swift](https://www.bignerdranch.com/blog/mocking-with-protocols-in-swift/)

在日常的开发中我们知道,有很多的代码其实是很难单元测试的,比如和数据相关的删除操作,但逻辑迟早都是会跑到的,不在开发阶段就在上线后用户使用阶段,所以这类 “untestable code” 越多,软件的质量就会越有问题本文作者通过使用 Swift 的 Protocol 的相关特性,来巧妙的构造一些测试机制来测试一些没那么好写单元测试的代码,并给出了一个具体的例子值得借鉴
单元测试可以覆盖我们的很多场景提高代码健壮性,但同时也有很多的代码其实是很难单元测试的,比如和数据相关的删除操作,逻辑迟早都是会跑到的,不在开发阶段就在上线后用户使用阶段,所以这类 “untestable code” 越多,软件的质量就会越有问题本文作者通过使用 Swift 的 Protocol 的相关特性,来巧妙的构造一些测试机制来测试一些没那么好写单元测试的代码,并给出了一个具体的例子值得借鉴

### 🐕 [Data-Driven Table Views](http://www.vadimbulavin.com/data-drive-table-views/)

在日常开发业务中经常会用到 UITableView,但 UITableView 存在代码重复控制流过于复杂违反依赖性倒置原则等痛点文章前半部分指出了以上痛点,以及相对于 UITableView 来说 UITableViewController 所拥有的特性;后半部分针对上述痛点,基于 UITableViewController 逐步实现了一个基础版的数据驱动业务的模型,设计轻量,用法简洁,且方便扩展
UITableView 称为所有 iOS 开发者最熟悉的控件并不为过,但 UITableView 存在代码重复控制流过于复杂违反依赖性倒置原则等痛点文章前半部分指出了以上痛点,以及相对于 UITableView 来说 UITableViewController 所拥有的特性;后半部分针对上述痛点,基于 UITableViewController 逐步实现了一个基础版的数据驱动业务的模型,设计轻量,用法简洁,且方便扩展

### 🐢 [从零开始学基于ARKit的Unity3d游戏开发系列](https://zhuanlan.zhihu.com/p/32224102)
### 🐢 [从零开始学基于 ARKit 的 Unity3d 游戏开发系列](https://zhuanlan.zhihu.com/p/32224102)

作者王寒,国内首批 iOS 应⽤开发者,首批 VR 应⽤开发者,知乎专栏 [笨猫学编程](https://zhuanlan.zhihu.com/kidscoding) 作者。[《Cocos2D权威指南》](https://item.jd.com/11206205.html),[《虚拟现实-引领未来的人机交互革命》](https://item.jd.com/11942259.html),[《Unity AR/VR开发:从新手到专家》](https://item.jd.com/12269697.html)的作者。 


Expand All @@ -56,16 +59,17 @@

### 🐢 🚧 [How to convert your Xcode plugins to Xcode extensions](https://medium.freecodecamp.org/how-to-convert-your-xcode-plugins-to-xcode-extensions-ac90f32ae0e3)

Xcode 插件和扩展,是我们日常开发中工具,作者针对于 Xcode 插件和扩展的发展做了以下几点的总结:
Xcode 插件和扩展,是我们日常开发中工具,作者针对它的发展做了以下几点的总结:

1. 什么是插件:只是一个类型的包,Xcode 启动时的同时,会去加载指定的 Info.plist 文件
2. 优秀的插件推荐:Alcatraz(包管理工具)Xvim( vim 编辑器)SCXcodeMiniMap(代码地图面板)FuzzyAutocompletePlugin(函数模糊搜索)KSImageNamed(图像名称列表)ColorSense(颜色转换)LinkedConsole(控制台打印跳转代码文件)
3. 插件的制作:作者以 [Xmas](https://github.com/onmyway133/Xmas)、[XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) 和 [XcodeWay](https://github.com/onmyway133/XcodeWay/tree/1.0) 的制作为例向我们展示了如何 Hook Xcode 的方法,已经与 Xcode 中 UI 元素进行交互
3. 插件的制作:作者以 [Xmas](https://github.com/onmyway133/Xmas)、[XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) 和 [XcodeWay](https://github.com/onmyway133/XcodeWay/tree/1.0) 的制作为例向我们展示了如何 Hook Xcode 的方法,以及如何与 Xcode 中 UI 元素进行交互
4. 插件的禁止:由于 2015 年末,[XcodeGhost](https://en.wikipedia.org/wiki/XcodeGhost) 事件,苹果从 Xcode8 开始禁止加载插件。当然,你可以通过 Xcode 重签名这种方式去绕过苹果的检查,重新加载插件
5. 扩展的崛起:苹果爸爸关上了一扇门,肯定会开一扇窗从此 Xcode8 中的扩展进入了人们的视线当中利用现有的 XcodeKit,去获取文档信息,修改当前文档内容,但是跟以前优秀的插件相比,这个方式能实现的东西是在太少了作者以 [XcodeColorSense2](https://github.com/onmyway133/XcodeColorSense2) 为例,向我们介绍了,如何去实现/调试/安装扩展。另外作者以 [XcodeWay](https://github.com/onmyway133/XcodeWay) 向我们介绍了如何使用去用新的扩展去调用 Apple Script

### 🐕 [我从写技术博客中收获到了什么](https://knightsj.github.io/2018/12/03/我从写技术博客中收获到了什么%20-%20J_Knight_/)

相信不少程序员都有写博客/文章的习惯,或者正计划写,因为一方面可以总结和加深对技术的理解,另一方面也可以一定程度上增加一些知名度,这也有助于拿到更多的面试机会但是,由于多数人工作毕竟已经很忙,真正能坚持写下来的人却不多本文作者作为一个工作刚满3年的开发者,但写博客却有两年半的时间了笔者大概看了下,大概写了有50多篇,可以说是很高产了
相信不少程序员都有写博客/文章的习惯,或者正计划写,因为一方面可以总结和加深对技术的理解,另一方面也可以一定程度上增加一些知名度,这也有助于拿到更多的面试机会但是,由于多数人工作毕竟已经很忙,真正能坚持写下来的人却不多本文作者作为一个工作刚满 3 年的开发者,但写博客却有两年半的时间了笔者大概看了下,大概写了有 50 多篇,可以说是很高产了

本文分为三个部分

Expand All @@ -75,11 +79,9 @@ Xcode 插件和扩展,是我们日常开发中工具,作者针对于 Xcode

在技术道路的探索上,每个人有每个人不同的方式,但对于任何一个人,坚持都是很重要也难得的品质相信这篇文章能够解答你心中的一些疑问

### 🐕 [美团开源 Graver 框架:用“雕刻”诠释 iOS 端 UI 界面的高效渲染](https://tech.meituan.com/waimai_graver.html)

### 🐕 [美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染](https://tech.meituan.com/waimai_graver.html)

美团开源了一款高性能的图文混排渲染框架,其特点是整个页面不使用 UIKit 的界面层级与布局渲染,而是采用自己的图文排版引擎,将所有元素绘制在一张 bitmap 上,然后辅助轻量级的交互控制在这一整套自研的图文排班引擎的支持下,可以做到网络下载/排版算法/图形渲染都通过异步来进行控制,从而实现复杂界面的高性能渲染效果

美团开源了一款高性能的图文混排渲染框架,其特点是整个页面不使用 UIKit 的界面层级与布局渲染,而是采用自己的图文排版引擎,将所有元素绘制在一张 bitmap 上,然后辅助轻量级的交互控制在这一整套自研的图文排班引擎的支持下,可以做到网络下载/排版算法/图形渲染都通过异步来进行控制,从而实现复杂界面的高性能渲染效果

### 🐎 [Image Analysis Solutions for Mobile Apps](https://www.netguru.co/codestories/image-analysis-solutions-for-mobile-apps)

Expand Down Expand Up @@ -126,10 +128,6 @@ iWeChat 项目作者希望通过逆向还原微信来学习构建微信用到的

项目介绍中罗列的逆向技巧步骤和工具等,都是不错的入门实战教程,对逆向以及微信的设计感兴趣的同学可以关注下

## 书

可选

## 音视频

### [ggtalk | 和 Cee 聊聊如何拿 Google Offer](https://github.com/SwiftOldDriver/iOS-Weekly/issues/997)
Expand Down

0 comments on commit 1009999

Please sign in to comment.