博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
老司机 iOS 周报 #2
阅读量:5965 次
发布时间:2019-06-19

本文共 2398 字,大约阅读时间需要 7 分钟。

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

新闻

今年 C 语言并没有很强势,只是也没有其他增长很突出的语言,C 的增长率 1.69% 就成为了佼佼者。亚军是 Python ,增长了 1.21%。

2018 年 1 月的排行中,Swift 排名 12,OC 18,相比去年略有提升。

集成过 iCloud, Passbook 或订阅类 iAP 将导致 App 无法转移到别的开发者帐号,即使之前集成过,新版禁用也不行。

美国专利商标局报告显示,苹果已经拿到了 iPhone X 的外形设计专利。不过据最新报道,此专利并非针对「刘海」造型提出,而是著重边框上的按键、天线断点、扬声器等处细节。另外,iPhone X 的「刘海」部分集成了多达 8 个传感器(比 iPhone 8 多 3 个),分别是红外镜头、泛光感应元件、点阵投影器。

Intel CPU 爆出史上最大漏洞。腾讯安全联合实验室的详细的介绍了漏洞的原理和影响。

文章

冰霜的 17 年总结,标题改成《我是如何从霜菜到霜神》也不为过。技术人员都要面对如何成长的问题,冰霜在文章中结合自身介绍了他是如何进行高效学习的,值得借鉴思考。

QUIC(Quick UDP Internet Connections)是基于 UDP 的 WEB 开发协议 TCP + TLS + HTTP2 = UDP + QUIC + HTTP2’s API,由 Google 开发,希望其取代 TCP,加快网页传输速度。还计划提交至 IETF,成为下一代的正式网络规范。文中详细介绍了 iOS 平台下集成方式及与 HTTP2 的对比数据。

?

非常详细的介绍了 Swift 中并发编程涉及到的概念,你值得拥有。

RN 的导航和跳转一直是一个需要解决的问题。作者总结对比了现有的几个开源方案,并阐述了自己的解决思路。

数字货币已经成为新的风口。文章从技术角度通俗易懂的介绍了比特币的技术原理及基本概念。

随着教育、娱乐等领域付费视频服务的兴起,怎样防止付费内容的流失与传播成为了一个很重要的问题,本文详细阐述并演示了如何在 iOS 11 上实现对用户屏幕录制或镜像操作进行侦测的方法,值得一看。

工具

查看主流 app 都用了哪些第三方服务和 SDK 。

代码

Kickstarter 开源了他们的客户端代码,里面有非常多可以学习的内容,例如:

  • AppEnviroment 的抽象:所有状态都用一个全局的 Enviroment 去保存,包括了缓存,设备状态,用户等等,有了这一个抽象的存在就意味着测试时可以随意模拟和切换状态,在测试和监控复现 bug 时非常有用。
  • 可运行的文档:使用 Playground 去搭建 API 文档,UI 的格式可以通过 PlaygroundLiveView 即时查看,构建出了一个类 REPL 的调试环境出来。并且每次 pull request 也会尝试编译 playground 里的代码,如果 API 进行了修改,那就让我们知道该更新文档了。美中不足是目前 Playground 对于 framework 的支持很一般,我们使用 Carthage 或者 Cocoapods 的话需要做很多 setup 才行。
  • ...

相关资料:

  • 在 Kickstarter-iOS 源码中学到的

RxSwift 社区推出的基于 Coordinator 模式的响应式导航框架。

by

基于多维链表实现的 iOS 链式动画库,相比业界另外一个知名 Swift 动画库 ,有如下特性:

  • 支持多链式动画,并发执行多条动画链;
  • 每个动画节点采用 CAAnimationGroup 实现,从而支持单动画节点复合动画;
  • 提供 OC 版;
  • 侧重于对动画的深度定制。

OOMDetector 是腾讯开源的一个 iOS 内存监控组件,应用此组件可以帮助你轻松实现 OOM 监控、大内存分配监控、内存泄漏检测等功能:

  • OOM 监控:监控 OOM,Dump 引起爆内存的堆栈;
  • 大内存分配监控:监控单次大块内存分配,提供分配堆栈信息;
  • 内存泄漏检测:可检测 OC 对象、Malloc 堆内存泄漏,提供泄漏堆栈信息。

大家在工作中应该经常遇到数据集合更新,然后我们手动 diff 之后刷新 TableView 的情况,但这样的代码重复也容易出错。

DeepDiff 这个框架把这个过程地封装了起来。只要我们直接传入旧的集合和新的集合,然后把 diff 的结果交给 TableView 直接刷新就可以了,下面是代码示例:

let changes = diff(    old: oldItems,     new: newItems,     reduceMove: true)tableView.reload(changes: changes, completion: { _ in })复制代码

并且它在性能方面的表现也很棒,官方的介绍页里有一个简单的性能对比,排名第一。

quicktype 可以根据给出的 JSON 数据推断出数据类型,然后输出具体的类型模型,支持 Swift、C++、Go、Java、C# 等语言。支持 Xcode 9,使用得当可以给我们的开发带来一定的便利。

作者是唱吧的音视频架构师。全面的介绍了音视频开发的基础知识,也结合了移动开发的相关技术(FFmpeg、OpenGL ES)进行了介绍。

音视频

?

阿尔法狗(AlphaGo)官方纪录片,全方位展示了人机大战的过程,更尽可能多地揭示了人类思维和未来人工智能的工作方式。

raywenderlich 的付费视频课程(第一部分可以免费观看)。视频课程分为:单元测试基本概念、单元测试实战和 UI 测试实战三个部分。

本期编辑

,,,,

微信打赏

感谢您的支持。

说明

? 表示需翻墙

转载地址:http://eptax.baihongyu.com/

你可能感兴趣的文章
让 vim 在按ESC时自动保存
查看>>
git配置别名
查看>>
SpringMVC配置文件
查看>>
划分数系列问题
查看>>
springboot整合jersey
查看>>
sql定时自动备份(定时作业)
查看>>
Excel 2013 表格自用技巧
查看>>
ubuntu安装VNC、Xfce桌面
查看>>
浅析支付系统的整体架构
查看>>
二位数组
查看>>
unix文件权限
查看>>
Python 模拟鼠键
查看>>
2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
查看>>
Source Code Review
查看>>
分享一下我安装启动Jmeter出错时的解决办法
查看>>
java 调用process
查看>>
用a标签实现submit提交按钮的效果
查看>>
毕向东_Java基础视频教程第20天_IO流(1~4)
查看>>
几图理解BeautifulSoup
查看>>
HashMap内部是如何实现的(转)
查看>>