2017-02-25技术周报

本期周报内容来自: eggInBlackGlareCHDemoCooky

时光机:周报汇总周报博客iOS puzzles


写在前面

是的!我们的技术周报又开始更新了~首先,和大家道个歉,在2017年伊始,由于组内同学都忙于各自的项目中,以至于冷落了这里,也陆续收到了一些『催更』的吐槽邮件,说明大家还在关注我们哈~再次表示感激!!本周起我们会继续给大家提供高质量的博客文章,也希望各位大牛参与我们的投稿,同时更加欢迎热爱技术的你对我们的周报提出宝贵的意见与建议~好啦,话不多说,精彩内容往下戳哦~

Objective-C

1.漫谈iOS AOP编程之路
2.聊聊AOP模式与ObjC对它的实现

Swift

1.Swift JSON Tutorial: Working with JSON

博客

1.谈谈GIF格式
2.谈谈iOS中图片的解压缩

精华贴

1.iOS无埋点数据SDK实践之路

2016-12-18技术周报

本期周报内容来自: nolol

时光机:周报汇总周报博客iOS puzzles


Swift

  1. iOS界面布局的核心以及TangramKit介绍: TangramKit是iOS系统下用Swift编写的第三方界面布局框架。他集成了iOS的AutoLayout和SizeClass以及Android的五大容器布局体系以及HTML/CSS中的float和flex-box的布局功能和思想,目的是为iOS开发人员提供一套功能强大、多屏幕灵活适配、简单易用的UI布局解决方案
  2. Swift Protobuf: Plugin and runtime library for using protobuf with Swift
  3. Google Protocol Buffer 的使用和原理 - IBM
  4. 从 Swift 的面向协议编程说开去

工具

  1. Xcode 8 Instruments 学习(一)
  2. Xcode 8 Instruments 学习(二)
  3. Xcode 8 Instruments 学习(三)
  4. Xcode 8 Instruments 学习(四)
  5. Xcode 8 Instruments 学习(五)
  6. Carthage: A simple, decentralized dependency manager for Cocoa

博客

  1. AFNetworking到底做了什么?
  2. AFNetworking到底做了什么?(二)
  3. iOS 启动连续闪退保护方案: “如果某个实体表现出以下任何一种特性,它就具备自主性:自我修复、自我保护、自我维护、对目标的自我控制、自我改进。” —— 凯文·凯利

2016-12-11技术周报

本期周报内容来自: nolol

时光机:周报汇总周报博客iOS puzzles


工具

  1. SOURCEKIT: SourceKit is the set of tools that enables most of Swift’s source code manipulation features: source code parsing, syntax highlighting, typesetting, autocomplete, cross-language header generation, and lots more.
  2. SwiftLint: A tool to enforce Swift style and conventions, loosely based on GitHub’s Swift Style Guide.
  3. ReadChinese: 读取项目中的所有中文,并且将这些中文按照国际化格式写入文件中,可以直接拿来实现国际化

博客

  1. Github-iOS备忘-超实用: ibireme收集整理的iOS开发相关第三方库和使用工具

开源代码

  1. swift-protobuf: Plugin and runtime library for using protobuf with Swift
  2. Quick: Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo.
  3. Eureka: Elegant iOS form builder in Swift
  4. Moya: Network abstraction layer written in Swift.
  5. HackingWithSwift: This is the source code to accompany Hacking with Swift, a free tutorial series that teaches Swift coding for iOS.
  6. Github 上的 iOS 开源项目: 在 Github 上 Star 太多了,有时候很难找到自己想要的开源库,所以在此记录下来。便于自己开发使用,也顺便分享给大家。
  7. GitHub 上 iOS 开源库 Top 100: 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.

2016-12-04技术周报

本期周报内容来自: GlareCHnolol

时光机:周报汇总周报博客iOS puzzles


技术实践

  1. Incremental Swift: 当你想升级到 Swift,但是重写所有的 Objective-C 代码根本不现实的时候,你要怎么做?Amy Dyer 讲述了他们在 Etsy 应用上的实践经验。
  2. The RawRepresentable Protocol in Swift
    Protocol Oriented Programming is Not a Silver Bullet
  3. Understanding Data Race Detection by Implementing it in Swift: Benjamin Encz wanted to understand the Thread Sanitizer better and so he implemented a version of it.
  4. Bugly热更新SDK你需要知道的一些事: 热更新能力是Bugly为解决开发者紧急修复线上Bug,而无需重新发版让用户无感知就能把问题修复的一项能力。

工具

  1. Eject from Interface Builder: 当界面复杂到不再适合使用IB时,可以将xib文件转成loadView方法。

开源

  1. StatefulViewController: 基于内容状态(加载中、错误、空)的占位符实用视图组件。
  2. RainyRefreshControl: 下雨要撑伞动效下拉刷新组件。
  3. TinyConsole: A tiny log console to display information while using your iOS app. Written in Swift 3.
  4. Keyframes: A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices.
  5. Adaptive Tab Bar: 这个库提供了一个很有意思的产品设计思路,让界面随着用户使用时长的变化而变化。

博客

  1. SwiftLanguage: 让我们以开发者的视角追随、跟踪它的一举一动。dev.swiftguide.cn|非官方微博

2016-11-27技术周报

本期周报内容来自: GlareCHnolol

时光机:周报汇总周报博客iOS puzzles


测试

  1. Test Doubles: Mocks, Stubs, and More
  2. Dependency Injection
  3. Bad Testing Practices

技术实践

  1. 移动端图片格式调研: ibireme 在做YYImage时的调研成果
  2. iOS 处理图片的一些小 Tip: ibireme 在做YYImage时的调研成果
  3. To speed up the XCode compile and link speed (200%+): 如何加快XCode编译速度?

工具

  1. FLEX: FLEX (Flipboard Explorer) is a set of in-app debugging and exploration tools for iOS development. When presented, FLEX shows a toolbar that lives in a window above your application. From this toolbar, you can view and modify nearly every piece of state in your running application.
  2. 静态分析工具大集合: 静态程序分析(Static program analysis)是指在不运行计算机程序的条件下,进行程序分析的方法。有些程序分析需要在程序运行时才能进行,这种程序分析称为动态程序分析。大部分的静态程序分析的对象是针对特定版本的源代码,也有些静态程序分析的对象是目标代码。静态程序分析一词多半是指配合静态程序分析工具进行的分析,人工进行的分析一般称为程序理解或代码审查。

博客

  1. objc.io: objc.io was founded 2013 in Berlin by Chris Eidhof, Daniel Eggert, and Florian Kugler. We started objc.io to create a platform for in-depth technical topics relevant to all iOS and OS X developers.

2016-11-13技术周报

本期周报内容来自: DemoCookynolol

时光机:周报汇总周报博客iOS puzzles


Swift

  1. 39个优秀的Swift UI开源库
  2. 百里挑一:21个优质Swift开源App

技术实践

  1. iOS 10 Link Preview API in WKWebView
  2. iOS 10 UserNotifications 框架解析
  3. SQLite3性能深入分析
  4. 揭秘:微信是如何用libco支撑8亿用户的

视野拓展

  1. 【FB TV】一周「BUF大事件」:利用Mirai僵尸网络企图关闭国家网络;可自己发明加密算法的AI;Gmail被发现存高危漏洞: 导致半个美国网络瘫痪的Mirai僵尸网络”,被“有心人士”盯上,他们竟企图关闭整个国家的互联网;人工智能不再只存在与想象之中,Google的人工智能可以自己发明加密算法;Gmail被发现存在高危漏洞,此漏洞可使用户帐号被轻松破解。
  2. Yahoo Reveals More Details About Massive Hack: 雅虎披露更多大规模黑客入侵事件的细节

开源代码

  1. GitHub 上 iOS 开源库 Top 100: 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.

2016-11-06技术周报

本期周报内容来自: nolol

时光机:周报汇总周报博客iOS puzzles


Swift

Whole-Module Optimization in Swift 3

Objectiv-C

  1. Objective-C Runtime Note
  2. position与anchorPoint

Xcode 8

Xcode8调试黑科技:Memory Graph实战解决闭包引用循环问题

Memory Graph 实战演练。

工具

CocoaPods 1.1.0 - Xcode 8 support, improved support for new Swift versions, extensions, frameworks, and more

CocoaPods 1.1.0 has been released!

UniBeast: Install macOS Sierra on Any Supported Intel-based PC

The following guide is a complete walkthrough for updating to or installing a fresh version of macOS Sierra. It requires no experience and all of the basic installation and post-installation tools are available on tonymacx86.com.

视野拓展

  1. 【漏洞预警】GitLab未授权访问漏洞可导致远程命令执行: GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。2016年11月3日,美国众测平台HackerOne公布了GitLab的目录遍历漏洞。漏洞的发现者为Jobert Abma,同时表示该漏洞可导致远程命令执行。
  2. Malloc两种内存获取方式的区别: 既然你正在看这篇文章,那么你就应该知道malloc函数是通过syscall调用从操作系统获取内存的。 如下图所示,malloc是通过调用brk或mmap这两种syscall之一来获取内存的。
  3. 【Dev Club 分享第十三期】腾讯验证码的十二年: 验证码的诞生就是用来对抗自动机,但随着OCR技术的发展,腾讯验证码怎么发展让它能够有效持续对抗自动机。
  4. 【Dev Club 分享第十四期】微信mars 的高性能日志模块 xlog: 苹果在iOS 10开放了系统电话权限,全新的Callkit框架能够让音视频的第三方应用获得系统级的通话体验,本次分享将主要介绍如何应用Callkit框架和一些适配经验。

开源代码

  1. WebViewJavascriptBridge机制解析

2016-10-30技术周报

本期周报内容来自: 桉远nolol
Note:
1. 增加RSS支持
2. 增加分享支持

时光机:周报汇总周报博客iOS puzzles

Swift

展望 Swift 4

Yep,Swift 4 开始开发了,在 Swift 4 的 GitHub 主页上,苹果公布了 Swift 4 的 主要目标,并计划在 2017 年晚些时候正式发布 Swift 4。苹果希望将 Swift 4 的开发分为两个阶段:

  • 第一阶段:关注于核心的一些需求,以及 ABI 的稳定性。苹果不希望在 Swift 4 中引入 ABI-breaking 的改变。
  • 第二阶段:该阶段希望在 2017 年春能够开始讨论,在第一阶段的任务完成后,可以增加一些或大或小的新特性。

The Swift Programming Language (Swift 3)
Swift译:《宣告Swift3结束和Swift4开启》

Objectiv-C

  1. 神经病院Objective-C Runtime入院第一天——isa和Class
  2. 神经病院Objective-C Runtime住院第二天——消息发送与转发
  3. 神经病院Objective-C Runtime出院第三天——如何正确使用Runtime

Xcode 8

新特性

在 Xcode 8 中,优化或新增了包括 Interface Builder、Signing Manager、Xcode Source Editor Extension、Debug Memory Graph 在内的很多新特性。

Xcode 8带来的新特性和坑
What’s New in Xcode

工具

fastlane 系列工具

fastlane is the tool to release your iOS and Android app.
It handles all tedious tasks, like generating screenshots, dealing with code signing, and releasing your application.

视野拓展

  1. 【Dev Club 分享第十二期】深度学习在OCR中的应用: OCR技术旨在从图片中检测并识别文字信息,本次分享将介绍我们在OCR技术研发过程中的一些方法和经验总结。
  2. 【Dev Club 分享第十一期】QQ电话适配iOS10 Callkit框架分享: 苹果在iOS 10开放了系统电话权限,全新的Callkit框架能够让音视频的第三方应用获得系统级的通话体验,本次分享将主要介绍如何应用Callkit框架和一些适配经验。
  3. 微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog: mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业务性无关,平台性无关的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。现正在筹备开源中。

开源代码

  1. Swift—高仿单糖App
  2. ReactiveCocoa核心元素与信号流: ReactiveCocoa是一个函数响应式编程框架,它能让我们脱离Cocoa API的束缚,能在宏观层面上提升代码易读性与稳定性,让程序员写出富有“诗意”的代码。本文略过ReactiveCocoa的基本概念与基础使用,着重介绍RAC数据流与RAC核心元素,并从数据流的角度切入,介绍RACComand与RACChannel。
  3. 21个高质量的Swift开源iOS App: 原文:21 Amazing Open Source iOS Apps Written in Swift

2016.10.16技术周报

本期周报内容来自: 桉远

iOS puzzles

周报汇总 地址

周报博客 地址

Swift

Swift 3.0 Unsafe World: 目前看过写的最好的关于讲如何用 Swift 3 来操作 C 指针的文章《Swift 3.0 Unsafe World》

Type Erasure Magic

技术实践

WebView与JS的几种交互

iOS安装包瘦身指南

浅谈JavaScript Core

通过Xcodeproj深入探究Xcode工程文件

源码阅读

苹果示例源码阅读:Reachability

开源代码:

MVVM: MVVM architecture of a practice, rewrite the iOS headlines for the client(MVVM架构的一次实践,重写iOS头条客户端)

27 iOS open source libraries to skyrocket your development.: You don’t want to miss them. Really.

PFWebViewController: A light-weight webview controller using WKWebView.

IGListKit: A data-driven UICollectionView framework for building fast and flexible lists. https://instagram.github.io/IGListKit/, blog

2016.10.09技术周报

本期周报内容来自: 桉远

iOS puzzles

周报汇总 地址

周报博客 地址

技术实践

CocoaPods 都做了什么?

黑科技:把第三方 iOS 应用转成动态库

开源代码:

REFrostedViewController: iOS 7/8 style blurred view controller that appears on top of your view controller.

rx-sample-code: rxSwift Demo code.

SwiftDate: The best way to manage Dates and Timezones in Swift http://malcommac.github.io/SwiftDate

工具

Import: Xcode extension for adding imports from anywhere in the code ☝️

SwiftInitializerGenerator: Xcode 8 Source Code Extension to Generate Swift Initializers