Skip to content

BaiduHiDeviOS/iOS-Tech-Weekly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS技术周报分类

Open Source Love MIT Licence Awesome

周报博客地址:点我

Swift

名称 简介
Swift generics Swift generics
Instance Methods are Curried Functions in Swift Instance Methods are Curried Functions in Swift
Swift: Custom Fonts. Slightly Less Awful. Swift: Custom Fonts. Slightly Less Awful.
Values and errors, part1: 'Result' in Swift Values and errors, part1: 'Result' in Swift
Package.swift - Manual Here is documentation for SPM manifest file Package.swift. I couldn't find a list of possible configuration values for Package.swift, so I created one, for future reference. I put here all available settings, with examples of use.
structs and mutation in swift structs and mutation in swift
The secret life of types in Swift swift team 员工写的关于swift 类型的讲解文章。
enums as configs enums as configs
Rejected Swift Proposals What we can learn from the rejections
OOD Principles In Swift OOD Principles In Swift
A Different Take on MVVM with Swift A Different Take on MVVM with Swift
Avoiding the overuse of @objc in Swift Avoiding the overuse of @objc in Swift
Swift: Selector syntax sugar 《Swift:Selector 语法糖》,今天要发的这篇来头很大,Chris Lattner 亲自转发过,就冲这个也必须读一读了。
quiz about properties in swift 关于swift 属性相关的小测验
exploring swift array implementation swift Array源码解析,建议配合源码一起看一遍。
swift mutability for foundation swift 未来可能替换NSFoundation中的class为value type.
Design Patterns implemented in Swift 各种常用设计模式在Swift 2的实现。
Swift Name Mangling swift中 __TFCCC4test1a1b1c1dfS2_FTS0_1xS1_1vFT1xSi_Si_OVS_1e1f这是什么,看不懂啊? 读读这篇文章...
Swift 性能探索和优化分析 Swift 性能探索和优化分析
Swift 2 throws 全解析 - 从原理到实践 Swift 2 throws 全解析 - 从原理到实践
Pattern matching part 1: switch, enums & where clauses Pattern matching part 1: switch, enums & where clauses
Pattern Matching, Part 2: tuples, ranges & types Pattern Matching, Part 2: tuples, ranges & types
What's new in Swift 2.2 What's new in Swift 2.2
mvvm in swift mvvm in swift
Being lazy 文章讲解了如何在Swift使用惰性初始化一个实例变量,数组的LazySequence。以及一种思考习惯,能否某些耗时初始化或者计算在用到的时候再去初始化或者计算。
Swift 烧脑体操(一) - Optional 的嵌套 Swift 烧脑体操(一) - Optional 的嵌套
Swift 烧脑体操(二) - 函数的参数 Swift 烧脑体操(二) - 函数的参数
Swift 烧脑体操(三) - 高阶函数 Swift 烧脑体操(三) - 高阶函数
Swift 烧脑体操(四) - map 和 flatMap Swift 烧脑体操(四) - map 和 flatMap
Swift烧脑体操五 - Monad Swift烧脑体操五 - Monad
Swift 烧脑体操(六)- 类型推断 Swift 烧脑体操(六)- 类型推断
the power of map and flatmap map和flatMap的实际使用场景。
swift函数柯里化介绍及使用场景 函数柯里化是函数式编程里的一个重要概念。swift中的柯里化可能很多人都没有了解过,今天给大家介绍一下柯里化的概念和一些使用场景。
如何处理 Swift 中的异步错误 如何处理 Swift 中的异步错误
Swift 2.0: Understanding flatMap Swift 2.0: Understanding flatMap
静态类型的 NSUserDefaults 静态类型的 NSUserDefaults
swift api transformation Swift去掉API中的NS等一些更swift的变化。
swift internals This site hosts internal documentation for the Swift compiler and standard library, as well as the development version of the Swift API Guidelines.
纯Swift2.0工程CocoaChina+从0到1遇到的坑和解决方案 纯Swift2.0工程CocoaChina+从0到1遇到的坑和解决方案
Advanced & Practical Enum usage in Swift Swift中Enum的使用实践
What's New in Swift 2.0 WWDC 2015 关于Swift 2.0 新特性的介绍Session, 可以通过此视频快速了解Swift 2.0的主要变化。
@UIApplicationMain 最近学Swift,新建项目以后发现找不到以前的main函数了。就查了一下怎么回事,详见此文。
The Swift Programming Language Swift 官方文档中文翻译。
Thinking in Swift, Part 1: Saving ponies 这篇文章对比oc和Swift, 来帮助读者更快适应Swift的思考方式。
Thinking in Swift, Part 2: map those arrays 这篇文章对比oc和Swift, 来帮助读者更快适应Swift的思考方式。
Enums as constants 本文介绍了很多Swift中enum的使用场景,很值得学习。
Swift 模式识别详解 详细解读如何使用Swift的模式识别
Swift 2.0 如何写单例 Swift 2.0 单例写法
Controlling Complexity in Swift 使用Swift的Value type来控制程序的复杂度
An Observable Pattern Implementation in Swift Swift的观察者模式实现
When to Use Swift Structs and Classes Swift中何时使用Structs和Classes
Optional Computed Properties in Swift Protocols 声明Optional Computed properties
Swift Functors, Applicatives, and Monads in Pictures 学了点haskell,在swift中新加的很多语言特性都是从haskell那里“抄”来的,比如强大的枚举、switch等等。functorapplicativemonads历来是haskell学习中相对比较难理解的概念,这篇文章用swift简明易懂的做了解释。
Advanced NSOperations 对于使用NSOperation提供了一个新颖的使用方案,比较开拓思路,此seesion有sample code结合观看效果更加
Inside Swift Swift的内部机制
Swift's mysterious Builtin module 揭秘Swift内置模块
Swift target acton Cocoa's target/action system for responding to controls is a great system for Objective-C, but is a bit unnatural to use in Swift. Today, I'm going to explore building a wrapper that allows using a Swift function as the action.
//TODO
Whole-Module Optimization in Swift 3

Swift 3

名称 简介
Swift 3.0 Unsafe World 目前看过写的最好的关于讲如何用 Swift 3 来操作 C 指针的文章《Swift 3.0 Unsafe World》
Swift 3.0 Refactoring Cues Swift 3.0 Refactoring Cues
Working with JSON in Swift Working with JSON in Swift
A (mostly) comprehensive list of Swift 3.0 and 2.3 changes A (mostly) comprehensive list of Swift 3.0 and 2.3 changes
Swift Programming Language Evolution: Proposal Status 查看proposals的状态
Writing High-Performance Swift Code Writing High-Performance Swift Code
Migrating to swift 3 Migrating to swift 3
swift proposals 0086 drop foundation NS swift proposals 0086 drop foundation NS
Swift 3 Grand Central Dispatch Swift 3中GCD的变化
Raywenderlich what's new swift 3 Raywenderlich what's new swift 3
Increased Safety in Swift 3.0 Increased Safety in Swift 3.0
Migrating to Swift 2.3 or Swift 3 from Swift 2.2 swift官方迁移指南
Chris Lattner谈Swift 3和Cocoa“重命名” 近日,在“swift-evolution”邮件列表中,Swift创建者Chris Lattner在一篇博文中概述了Swift 3定义的一些指导原则,并明确表示该版本会带来破坏性修改。

Swift Style Guide

名称 简介
Swift API Design Guidelines Swift API Design Guidelines
raywenderlich swift style guide raywenderlich的swift编码规范,及swift2.2更新说明
linkedin swift style guide LinkedIn's Official Swift Style Guide
Github Swift style guide Github Swift style guide

Protocol Oriented Programming in Swift

名称 简介
ProtocolNetwork Sample project to show how to use protocol/extension to build a network layer
Protocol Extensions: A History by Matthew Gillingham Protocol Extensions: A History by Matthew Gillingham
Protocol-Oriented Programming in Swift Protocol-Oriented Programming in Swift
Protocol-Oriented Logging, or: Default Arguments in Swift Protocols POP一个使用例子
iOS Cell Registration & Reusing with Swift Protocol Extensions and Generics POP 在cell中的应用。
Practical Protocol-Oriented-Programming POP的几个应用实例。
Protocols with Associated Types Protocols with Associated Types
Beyond Crusty: Real-World Protocols Beyond Crusty: Real-World Protocols
Blending Cultures: The Best of Functional, Protocol-Oriented, and Object-Oriented Programming Blending Cultures: The Best of Functional, Protocol-Oriented, and Object-Oriented Programming
用 Swift 编写面向协议的网络请求 用 Swift 编写面向协议的网络请求
用 Swift 编写面向协议的视图 用 Swift 编写面向协议的视图
Dim the lights on those view controllers with protocol extensions Dim the lights on those view controllers with protocol extensions
protocol oriented problems and immutable self error protocol oriented problems and immutable self error
使用UIKit进行面向协议的编程 揭开『面向协议编程』真正的面纱。尤其是针对日常 UI 的开发,大部分实例代码并没有切合实际的使用场景,也没有利用任何框架。
Introduction to Protocol-Oriented MVVM 介绍Protocol Oriented 结合MVVM的一个活生生的🌰。
Blurable Apply a Gaussian Blur to any UIView with Swift Protocol Extensions
What the 55 Swift Standard Library Protocols Taught Me 作者为raywenderlich长期教程作者,主要介绍了其从Swift标准库提供的protocol学到了哪些,推荐观看,需翻墙。
Protocol Oriented Programming in the Real World Swift Protocol Oriented Programming的使用例子。

Objective-C

名称 简介
深入理解GCD 深入理解GCD
如何使用 Runtime 给现有的类添加 weak 属性 如何使用 Runtime 给现有的类添加 weak 属性
Objective-C Fast Enumeration 的实现原理 Objective-C Fast Enumeration 的实现原理
Why objc_msgSend Must be Written in Assembly Why objc_msgSend Must be Written in Assembly
Objective-C 消息发送与转发机制原理 Objective-C 消息发送与转发机制原理
CATEGORIES CONSIDERED HARMFUL 关于我们该如何正确使用OC中的Category。
深入理解Objective-C:Category 来自美团技术团队的优质技术文章,深入讲解了Category
深入理解Objective-C:方法缓存 来自美团技术团队的优质技术文章, 深入讲解了OC中方法调用缓存的相关知识。
Objective-C 的现代语法和新特性 Objective-C 的现代语法和新特性
Adopting Nullability Annotations OC新特性,标记对象是否可以为空,为了更好的适配Swift。
Adopting Objective-C Generics OC新特性,标记集合对象(NSArray, NSDictionary, NSSet)中保存对象类型,为了更好的适配Swift。
Objective-C vs Swift messages dispatch Objective-C和Swift的消息派发机制
高效开发iOS系列 -- 那些不为人知的KVC 文章主要讲解了KVC中容易被开发者忽视却很有用的用法。
Apple Memory Usage Performance Guidelines 是上面内存管理及优化视频中提到的苹果文档。
iOS内存管理和malloc源码解读 iOS内存管理和malloc源码解读
Automatically Formatting Your Objective-C 自动格式化代码工具ClangFormat-Xcode使用。
How to C in 2016 How to C in 2016
//TODO
Objective-C Runtime Note
position与anchorPoint

技术实践

文章名称 简介
移动端图片格式调研: ibireme 在做YYImage时的调研成果
iOS 处理图片的一些小 Tip: ibireme 在做YYImage时的调研成果
To speed up the XCode compile and link speed (200%+) 如何加快XCode编译速度?
//TODO
iOS 10 Link Preview API in WKWebView
iOS 10 UserNotifications 框架解析
SQLite3性能深入分析
揭秘:微信是如何用libco支撑8亿用户的

UI

文章名称 简介
清理ios项目不用的图片资源 清理ios项目不用的图片资源
基于 UIWebView 的富文本编辑器实践 基于 UIWebView 的富文本编辑器实践
AutoLayout--优化UITableViewCell高度计算的那些事 使用AutoLayout动态计算UITableViewCell高度
AutoLayout Tips Tip1.两个不等宽的View,彼此相邻,并“共同”居中于 Superview Tip2.让 AutoLayout 与 UIScrollView 合作无间
『零行代码』解决键盘遮挡问题(iOS) 『零行代码』解决键盘遮挡问题(iOS)
几句代码快速集成自定义转场效果+ 全手势驱动 几句代码快速集成自定义转场效果+ 全手势驱动
[译]字体渲染背后不得不说的故事 [译]字体渲染背后不得不说的故事
iOS 二维码扫描(你想要的都在这里了) iOS 二维码扫描(你想要的都在这里了)
Building a Simple Barcode Reader App in Swift Building a Simple Barcode Reader App in Swift
Quartz2D 编程指南 Quartz2D 编程指南
iOS中使用blend改变图片颜色 iOS中使用blend改变图片颜色
iOS 处理图片的一些小 Tip iOS 处理图片的一些小 Tip
移动端图片格式调研 移动端图片格式调研
iOS开发之如何跳到系统设置里的各种设置界面 iOS开发之如何跳到系统设置里的各种设置界面
防止点击 Cell 时 ViewController 被重复 Push 寻找疑难问题的解决办法,再做合理分析以便确定可使用
iOS 开发之照片框架详解 包括AssetsLibrary及新库photoKit(官方demo)
利用UIWebView打造一个炫酷的视频背景视图(OC & Swift) 视频背景View, 适合做Hi 5.0的登录窗口。
Elastic view animation using UIBezierPath Elastic view animation using UIBezierPath
Using multiple UIWindows in iOS applications Using multiple UIWindows in iOS applications
UIWindow in iOS UIWindow in iOS
React-Inspired Views User interfaces can be hard to get right in any application. Combining display and interaction in a little rectangle on the user’s screen seems simple, but even for small applications, it’s easy to end up with a tangled mess of view code. In complex products with many contributing engineers, like Facebook’s News Feed, these views can be especially hard to develop and maintain over time. Facebook News Feed视图策略

动画

文章名称 简介
How To Create an Uber Splash Screen How To Create an Uber Splash Screen
Controlling Animation Timing Controlling Animation Timing
QQ中未读气泡拖拽消失的实现分析 这位博主的其他文章也非常赞~
看,这白白的液体滴了一地 液态效果动画
利用贝塞尔曲线实现Q弹的下拉刷新 利用贝塞尔曲线实现Q弹的下拉刷新
iOS开发系列--让你的应用“动”起来 讲解IOS 动画相关博主的文笔和排版灰常赞其系列博文值得一读
iOS自定义转场动画实战讲解 iOS自定义转场动画实战讲解
CALayer Animation实践(一):让应用灵动起来! CALayer 动画实践(一)
CALayer动画实践(二):CAReplicatorLayer的用法 CALayer 动画实践(二)
iOS 视图控制器转场详解 非常详尽讲解转场。

文字排版

文章名称 简介
介绍text kit很棒的一篇文章 介绍text kit很棒的一篇文章

布局

文章名称 简介
10 Things You Need to Know About Cocoa Auto Layout 10 Things You Need to Know About Cocoa Auto Layout
iOS Auto Layout: Fun Facts and Tips iOS Auto Layout: Fun Facts and Tips

单测

文章名称 简介
Asynchronous Testing Asynchronous Testing
单元测试框架选型 介绍单元测试框架选型,对比几个知名测试框架
OCMock常见使用方式 介绍CMock常见使用方式
Singleton如何测试 介绍Singleton如何测试
单元测试编码规范 介绍单元测试编码规范
How to write a unit test which passes if a function throws? 目前Xcode Unit Test没有对抛出异常的函数进行处理的XCT方法,文中添加了第三方的写法。
如何进行 HTTP Mock HTTP Mock 在测试中非常好用,我们可以在不需要后端 API 的情况下,在本地对 HTTP 请求进行拦截,返回想要的 json 数据,而 OHHTTPStubs 就为我们提供了这样一种解决方案。
Test Doubles: Mocks, Stubs, and More
Dependency Injection
//TODO
Bad Testing Practices

源码解析

文章名称 简介
苹果示例源码阅读:Reachability 苹果示例源码阅读:Reachability
MotionKit — The Missing iOS CoreMotion Wrapper written in Swift MotionKit — The Missing iOS CoreMotion Wrapper written in Swift
制作一个苦力 由JSON文件生成对应的数据Model对象struct, class.
iOS程序main函数之前发生了什么 iOS程序main函数之前发生了什么
MVVMFramework-Swift (Swift版)总结整理下一个快速开发框架,以更优雅的方式写代码,做一个代码艺术家。分离控制器中的代码,已加入cell自适应高度,自动缓存网络请求代码,降低代码耦合,提高开发效率。其中还有很多相关资源的链接。
AFNetworking2.0源码解析<一> AFNetworking2.0源码解析<一>
AFNetworking2.0源码解析<二> AFNetworking2.0源码解析<二>
AFNetworking2.0源码解析<三> AFNetworking2.0源码解析<三>
iOS 开发——你真的会用 SDWebImage? SDWebImage源码解析
教你使用Xtrace读懂Mantle源码 上周周报刚刚整理了Xtrace这个开源库,这篇文章是结合该开源库去阅读源码。
深入理解Kingfisher(上) 深入理解Kingfisher(上)
深入理解Kingfisher(下) 深入理解Kingfisher(下)
Facebook开源的Parse源码分析 Facebook开源的Parse源码分析
Open-source Swift: Booleans Booleans -- Swift源码阅读
Swift Weak References Swift 下若引用原理解析。推荐阅读
NSCache NSCache -- Swift源码阅读
Swifty Time 一个收录了大量swift优秀源码的网站

多线程

文章名称 简介
Friday Q&A 2012-11-09: dyld: Dynamic Linking On OS X Friday Q&A 2012-11-09: dyld: Dynamic Linking On OS X
Parse的底层多线程处理思路:GCD高级用法 Parse的底层多线程处理思路:GCD高级用法
读 Threading Programming Guide 笔记
iOS开发之深入理解GCD 本文为raywenderlich 深入理解GCD的一篇译文,详细讲解了GCD相关的知识。
不再安全的 OSSpinLock OSSPinLock作为锁已经不再安全了,文章还对比了各种锁的性能对比。
Thread safe class design Thread safe class design
concurrency apis and pitfalls concurrency apis and pitfalls
Low level concurrency apis Low level concurrency apis
Common background practices Common background practices
iOS开发之Alamofire源码解析前奏--NSURLSession全家桶 NSURLSession源码解析

性能优化

文章名称 简介
Perfect smooth scrolling in UITableViews Perfect smooth scrolling in UITableViews
UITableView Tips UITableView Tips
微信读书 iOS 性能优化总结 微信读书 iOS 性能优化总结
简单监测iOS卡顿的demo 简单监测iOS卡顿的demo
常见操作性能对比 常见操作性能对比
secrets of mobile network performance secrets of mobile network performance
UITableView性能优化 UITableView性能优化
iOS 保持界面流畅的技巧 iOS 保持界面流畅的技巧
Faster Photos in Facebook for iOS 这篇文章介绍了Facebook使用Progressive JPEG加快图片加载的优缺点对比。附上一个Progressive image的开源库
Reducing FOOMs in the Facebook iOS app 这篇文章介绍了Facebook如何减少由于系统内存压力导致的应用Crash。为追踪非应用本身Bug 造成的crash提供了一个思路。
iOS同步对象性能对比 iOS同步对象性能对比
Delivering high scroll performance Delivering high scroll performance
优化Facebook iOS app启动时间 优化Facebook iOS app启动时间
今日头条iOS客户端启动速度优化 优化App启动时间

工具使用

文章名称 简介
CocoaPods 都做了什么? CocoaPods 都做了什么?
swift markdown 用markdown写Xcode文档
Clang Attributes 黑魔法小记 Clang Attributes 黑魔法小记
iOS开发--应用设置及用户默认设置 iOS开发--应用设置及用户默认设置
Building and managing iOS model objects with Remodel Building and managing iOS model objects with Remodel
Injection for Xcode:成吨的提高开发效率 Injection for Xcode:成吨的提高开发效率
charles中如何对https抓包 使用Charles抓https请求数据包
Spelunkhead 跟着博文作者一起探索iOS系统framework。
moby.sh 下载所有framework head文件,并放入一个输出文件夹中,方便搜索查看API接口,新API等。
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.
静态分析工具大集合 静态程序分析(Static program analysis)是指在不运行计算机程序的条件下,进行程序分析的方法。有些程序分析需要在程序运行时才能进行,这种程序分析称为动态程序分析。大部分的静态程序分析的对象是针对特定版本的源代码,也有些静态程序分析的对象是目标代码。静态程序分析一词多半是指配合静态程序分析工具进行的分析,人工进行的分析一般称为程序理解或代码审查。

实践经验

文章名称 简介
WebView与JS的几种交互 WebView与JS的几种交互
浅谈JavaScript Core 浅谈JavaScript Core
iOS安装包瘦身指南 iOS安装包瘦身指南
通过Xcodeproj深入探究Xcode工程文件
黑科技:把第三方 iOS 应用转成动态库 黑科技:把第三方 iOS 应用转成动态库
Solve-App-Store-Review-Problem a collection to solve app store review problem (ipv6,ipv6被拒绝,后台定位等审核问题的终极解决方案汇总)
Concurrent Programming: APIs and Challenges Concurrent Programming: APIs and Challenges
Hypertext Transfer Protocol Version 2 (HTTP/2) This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. It also introduces unsolicited push of representations from servers to clients.
Journey to HTTP/2 Journey to HTTP/2
微信iOS SQLite源码优化实践 微信iOS SQLite源码优化实践
How do I build a Network Layer How do I build a Network Layer
理解iOS的内存管理 理解iOS的内存管理
Distribute your Swift code using CocoaPods Distribute your Swift code using CocoaPods
Build your own Cocoa Touch Frameworks, in pure Swift Build your own Cocoa Touch Frameworks, in pure Swift
基于TLS1.3的微信安全通信协议mmtls介绍 基于TLS1.3的微信安全通信协议mmtls介绍
iOS瘦身之删除无用的mach-O文件 iOS瘦身之删除无用的mach-O文件
微信文件微起底 微信文件微起底
如何防止客户端被破解 很多应用都需要用户登录或者签名认证,这可能需要在客户端保存登录信息、签名密钥、加密算法等。如何保证这些重要信息不被窃取,算法不被破解,这些成为应用开发中很重要的内容,同样也是最容易忽视的地方。一个小小的细节可能就成为整个系统的突破口,这里从实际工程角度总结了一些容易忽视的细节和常用的方法。
iOS APP安全杂谈之三 iOS APP安全杂谈之三
On Using SQLite and FMDB Instead of Core Data 关于使用Sqlite的一些实践,对我们项目里Sqlite的使用有很多可以借鉴的东西。
NSFormatter 各种听过没听过,用过没用过的formatter
objc.io: Compiler In this article we’ll have a look at what a compiler does, and how we can use that to our advantage.
objc.io: mach-o excutables When we build an application in Xcode, part of what happens is that the sources files (.m and .h) get turned into an executable. This executable contains the byte code than will run on the CPU, the ARM processor on the iOS device, or the Intel processor on your Mac. We’ll walk through some of what the compiler does and what’s inside such an executable. There’s more to it than first meets the eye.
Cocoapods系列教程 从零开始到各种私有管理
CocoaPods的一些略为高级一丁点的使用 CocoaPods的一些略为高级一丁点的使用
详说CMDeviceMotion 来自NSHipster 的翻译文章,获取陀螺仪、加速器和磁力仪(罗盘)等传感器数据,get交互灵感
Building a Core Foundation Building a Core Foundation
Creating your first iOS Framework 手把手教你创建自己的framework
DNS 原理入门 DNS 原理入门

应用架构相关

文章名称 简介
Immutable models and data consistency in our iOS App Immutable models and data consistency in our iOS App
MVVM is lipstick on a pig MVVM is not a step in the right direction. It’s an additional layer of confusion.
iOS高性能图片架构与设计 iOS高性能图片架构与设计
Square对iOS App架构的新尝试---Ziggurat Square对iOS App架构的新尝试---Ziggurat
Advanced iOS Application Architecture and Patterns Explore a selection of high-level software engineering techniques presented in the context of Cocoa Touch. Learn how to manage complexity in large codebases by clearly defining where truth resides, by controlling state with Swift's powerful value types and immutability, and by thinking in terms of composition.
iOS 架构模式 - 简述 MVC, MVP, MVVM 和 VIPER (译) iOS 架构模式 - 简述 MVC, MVP, MVVM 和 VIPER (译)
iOS组件化方案探索 JSPatch作者关于组件化方案探索的文章。
猿题库iOS客户端架构设计 这篇文章将阐明我们在猿题库 iOS 客户端的架构设计。
跳出面向对象思想(一) 继承 跳出面向对象思想(一) 继承
跳出面向对象思想(二) 多态 跳出面向对象思想(二) 多态
跳出面向对象思想(三) 封装 跳出面向对象思想(三) 封装
iOS应用架构谈 开篇 iOS应用架构谈 开篇
iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 view层的组织和调用方案
iOS应用架构谈 网络层设计方案 iOS应用架构谈 网络层设计方案
iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 本地持久化方案及动态部署
Software Architecture Patterns pdf Software Architecture Patterns

开源代码

UI

名称 推荐理由
IQKeyboardManager Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.
ChatKit-OC An IM App UI Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features.
CharacterText UILabel subclass to perform text effects. 各种炫酷的文字浮现效果。
TextAttributes TextAttributes makes it easy to compose attributed strings.
LazyTableImages: Populating UITableView content asynchronously 苹果官方出了个demo,LazyTableImages,对列表里图片很多的情况有很好的优化作用。我看了一下,挺实用的。
Rainbow Rainbow adds text color, background color and style for console and command line output in Swift. It is born for cross platform software logging in terminals, working in both Apple's platforms and Linux. Meanwhile, it is also compatible with XcodeColors, which lets you colorize the Xcode debugger output as well when developing an app.
REVERT Reveal出品,一个项目教会你Swift的基本UI开发。配合reveal更加直观。
SwiftGen This is a suite of tools written in Swift 2 to auto-generate Swift 2 code for various assets of your project: 1.enums for your Assets Catalogs 2.enums for your Localizable.strings strings.3.enums for your UIStoryboard and their Scenes. 4.enums for your UIColors.
GitHub 上 iOS 开源库 Top 100 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.

UI组件

名称 推荐理由
IGListKit A data-driven UICollectionView framework for building fast and flexible lists. https://instagram.github.io/IGListKit/, blog
REFrostedViewController iOS 7/8 style blurred view controller that appears on top of your view controller.
UICircularProgressRing A circular progress bar for iOS written in Swift 3
Segmentio Animated top/bottom segmented control written in Swift. https://yalantis.com/
iOS Echarts iOS图表
hamburger-button A hamburger button transition http://robb.is/working-on/a-hamburger-button-transition/
AImage 通过UIImage异步预解压,大幅度降低主线程CPU利用率。A animated GIF&APNG engine for iOS in Swift. Optimized for Multi-Image case.
DisplaySwitcher Custom transition between two collection view layouts https://yalantis.com
NMessager A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift
LTMorphingLabel Graceful morphing effects for UILabel written in Swift.
AspectFillFaceAware An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill.
Translucid Lightweight library to set an Image as text background. Written in swift.
Render React-inspired Swift library for writing UIKit UIs.
Scrollable-GraphView An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift.
PMAlertController PMAlertController is a great and customizable substitute to UIAlertController
SubtleVolume Replace the system volume popup with a more subtle indicator.
FLAnimatedImage FLAnimatedImage is a performant animated GIF engine for iOS
RACollectionViewReorderableTripletLayout UICollectionView 排序
SlackTextViewController A drop-in UIViewController subclass with a growing text input view and other useful messaging features.
Instructions 新手引导
FDStackView Use UIStackView directly in iOS6+ ,百度知道团队开源代码
Concorde Progressive JPEG 图片加载的三方库。
MessageDisplayKit MessageDisplayKit 模仿微信样式的开源IM
JSQMessagesViewController 开源聊天界面组件
JPFPSStatus Show FPS Status on StatusBar

布局

名称 推荐理由
LayoutKit LayoutKit is a fast view layout library for iOS. http://layoutkit.org
ClassyLiveLayout Use Classy stylesheets together with Masonry to tweak AutoLayout constants live when debugging in the simulator.
SnapKit SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
Neon A powerful Swift programmatic UI layout framework.Build dynamic and beautiful user interfaces like a boss, with Swift.

动画

名称 推荐理由
RMPZoomTransitionAnimator A custom zooming transition animation for UIViewController
fantastic-ios-animation A collection of iOS animation repos
15DaysofAnimationsinSwift 动画相关,不是15天从入门到放弃。
IBAnimatable Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
Advance A powerful animation framework for iOS.

网络

名称 推荐理由
vapor A web framework and server for Swift that works on macOS and Ubuntu. http://vapor.codes
PMHTTP Swift/Obj-C HTTP framework with a focus on REST and JSON
SwiftyOAuth A simple OAuth library for iOS with a built-in set of providers
Moya Network abstraction layer written in Swift.
Reachability.swift Replacement for Apple's Reachability re-written in Swift with closures.

Model

名称 推荐理由
BTree Fast ordered collections for Swift using in-memory B-trees
Swift protobuf plugin Generate Swift code with this protoc plugin
JSON Micro framework for easily parsing JSON in Swift 3 with rich error messages in less than 100 lines of code
JSONNeverDie Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
SwiftTask Promise + progress + pause + cancel + retry for Swift.
Willow Willow is a powerful, yet lightweight logging library written in Swift.
Zip Swift framework for zipping and unzipping files.
GRDB.swift A versatile SQLite toolkit for Swift, with WAL mode support https://www.sqlite.org
SQLite.swift A type-safe, Swift-language layer over SQLite3.
Alamofire Object Mapper An Alamofire extension which converts JSON response data into swift objects using ObjectMapper
Coolie Coolie parse a JSON file to generate models (& their constructors).
Cache A generic caching library for Swift. Cache depends on Foundation.
JASON Fast JSON parsing for Swift
FCModel 依据On Using SQLite and FMDB Instead of Core Data做了实现。
Decodable Swift 解析JSON, Chris Lattner(LLVM 作者) 推荐

语法糖

名称 推荐理由
Swift chaining demo Demo project to show how to program with chaining code using swift.
SwiftTimer Simple and Elegant Timer
FutureKit A Swift based Future/Promises Library for IOS and OS X.
Then ✨ Super sweet syntactic sugar for Swift initializers.
SwiftString A comprehensive, lightweight string extension for Swift
Every.swift A swift wrapper for NSTimer
PMKVObserver A type-safe Swift/ObjC KVO wrapper.
Aspects 再也不用自己写丑陋的method swizzling代码了。
PromiseKit Modern development is highly asynchronous: isn’t it about time we had tools that made programming asynchronously powerful, easy and delightful?
Async Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch

工具库

名称 推荐理由
PFWebViewController A light-weight webview controller using WKWebView.
SwiftDate The best way to manage Dates and Timezones in Swift http://malcommac.github.io/SwiftDate
SwiftFormat A command-line tool for formatting Swift code
diff so fancy Good-lookin' diffs. Actually… nah… The best-lookin' diffs. 🎉
objc2swift Open Source Obj-C to Swift Converter. http://objc2swift.yahoo-labs.jp
lzfse This is a reference C implementation of the LZFSE compressor introduced in the Compression library with OS X 10.11 and iOS 9
MotionKit Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple.
GYDataCenter:高性能数据库框架 微信阅读团队开源了一直在团队内使用的数据库框架。
RKNotificationHub Make any UIView a full fledged notification center
Barcode Scanner 扫码工具
iOS App Hook 专注于非越狱环境下iOS应用逆向研究,从dylib注入,应用重签名到App Hook.
AppDevKit AppDevKit is an iOS development library that provides foundational and developer everyday required features for their iOS app development. https://yahoo.github.io/AppDevKit
routable-ios Routable, an in-app native URL router, for iOS
JLRoutes URL routing library for iOS with a simple block-based API.
HHRouter Yet another URL Router for iOS.
MGJRouter 一个高效/灵活的 iOS URL Router
SwiftNotificationCenter A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety
Xtrace Trace Objective-C method calls by class or instance
FBNotifications Facebook Analytics In-App Notifications Framework
GPUImage2 GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. Redesigned in swift.
FBRetainCycleDetector iOS library to help detecting retain cycles in runtime.
FBAllocationTracker iOS library that helps tracking all allocated Objective-C objects.
FBMemoryProfiler iOS tool that helps with profiling iOS Memory usage.原理介绍
EarlGrey EarlGrey is a native iOS UI automation test framework that enables you to write clear, concise tests. 一篇EarlGrey的介绍文章
infer A static analyzer for Java, C and Objective-C http://fbinfer.com/
Localize-Swift 一款开发者不可或缺的国际化及本地化字符串框架支持类库。同样地,使用简单、直观又方便。毫无疑问,这款非常值得收录。
Swiftbeaver Swift 记log工具 和一篇介绍 文章
PhoneNumberKit Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.

完整工程

名称 推荐理由
MVVM MVVM architecture of a practice, rewrite the iOS headlines for the client(MVVM架构的一次实践,重写iOS头条客户端)
仿youtube iOS客户端 swift3 完整工程
高仿映客直播App 高仿映客直播App
Celluloid The Best Photo Extension APP on iOS
BeautifyFaceDemo It's a simple demo of realtime face beautification based on GPUImage
TSWeChat A high copy WeChat, Written by Swift.
Swift高仿“简书” Swift高仿“简书”
Yep 整套纯Swift开发应用
Awesome Swift Playgrounds 各种供你娱乐的playground
furni-ios furni-ios 是由 Twitter 开发团队出品的一款用 Swift 写的 iOS 家居商城应用, 其主要目的在于让开发者从这款 Demo 应用中看出 Fabric 的强大。
2015开源iOS App总结 十几款开源的app
YYKit YYKit 是一组庞大、功能丰富的 iOS 组件。
Swift Radio Pro 完整的Swift 2.0的App 开源应用。
TeamTalk 蘑菇街开源IM
iOS-9-Sampler Code examples for the new features of iOS 9.

开源库合集

名称 推荐理由
27 iOS open source libraries to skyrocket your development. You don’t want to miss them. Really.
MDCC 2016 相关资源 MDCC 2016 相关资源
iOS cookies 按类别整理的开源代码合集。
awesome iOS A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects
iOS Source Code Analyze 一些开源代码的解析文章集合。
Swift 开源项目精选 涵盖存储、网络、图片、框架、界面等开源代码
30 days of Swift A self taught project to learn swift.
awesome swift awesome swift 系列,汇聚各种好的swift资源,不收藏等啥呢!
Hacking With Swift Swift 教程,以做小项目学习Swift
swift algorithm club Algorithms and data structures in Swift, with explanations!
27 iOS open source libraries to skyrocket your development. 27个常用的iOS开源库。
//TODO
39个优秀的Swift UI开源库
百里挑一:21个优质Swift开源App

React Native

标题 内容简介
React 技术栈系列教程 React 技术栈系列教程
React Native Facebook的开源库,使用 React.js 开发原生应用。
Facebook f8 app open source React Native 最佳学习项目来了,Facebook 开源了 F8 App 全套代码,包括 Android,iOS 和 Server 端,其中涉及 React Native, Redux, Relay, GraphQL 等技术,更感人的是配套了教程讲解整个 APP(包括前后端) 是怎么做出来。教程

Reactive Cocoa & RxSwift & Functional Programming

标题 内容简介
rx-sample-code rxSwift Demo code.
ReactiveCocoa ReactiveCocoa
Brian Beckman: Don't fear the Monad Brian Beckman: Don't fear the Monad
用 ReactiveCocoa 事半功倍的写代码
reactive cocoa vs rxswift 两者对比
What the heck is a monad What the heck is a monad
flatmap 介绍flatMap
map 介绍map函数
细说ReactiveCocoa的冷信号与热信号(一) 细说ReactiveCocoa的冷信号与热信号(一)
细说ReactiveCocoa的冷信号与热信号(二):为什么要区分冷热信号 细说ReactiveCocoa的冷信号与热信号(二)
细说ReactiveCocoa的冷信号与热信号(三):怎么处理冷信号与热信号 细说ReactiveCocoa的冷信号与热信号(三)
RACSignal的Subscription深入分析 RACSignal的Subscription深入分析
写给程序猿的范畴论 · 序 写给程序猿的范畴论 · 序
范畴:复合的本质 范畴:复合的本质
类型与函数 类型与函数
范畴,可大可小 范畴,可大可小
Kleisli 范畴 Kleisli 范畴
积与余积 积与余积
对单子的求索 对单子的求索
Swift 2.0: 深入浅出 Map 和 FlatMap 概念 又来一篇Swift和Functional
Enemy of the State 主要是讲程序设计中state的坏处,以及用stateless编程的好处。这也是近些年来Functional Programming重新流行起来的很重要的原因之一。BTW,推荐这个Slides也是为了安利ReactiveCocoa:),可以大幅度的减少iOS开发中的state
The introduction to Reactive Programming you've been missing 虽然是针对JavaScriptRx库的,但是对Reactive Programming思想描述的非常清晰明了。
A FIRST LOOK AT REACTIVECOCOA 3.0 ReactiveCocoa 3.0的API入门文章
REACTIVECOCOA 3.0 - SIGNAL PRODUCERS AND API CLARITY ReactiveCocoa 3.0的API入门文章
深入浅出-iOS函数式编程的实现 && 响应式编程概念 本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助

iOS HotFix相关

标题 内容简介
JSPatch 平台新特性:实时监控 JSPatch 平台新特性:实时监控
JSPatch C 函数调用 JSPatch C 函数调用
JSPatch Playground JSPatch Playground is an interactive JSPatch coding environment, the iOS simulator will refresh and displays results instantly as js files save.
Xcode 代码补全插件 – JSPatchX 原理解析 Xcode 代码补全插件 – JSPatchX 原理解析
JSPatch 近期新特性解析 JSPatch 近期新特性解析
JSPatch更新:完善开发功能模块的能力 JSPatch更新:完善开发功能模块的能力
alibaba/wax Wax is a framework that lets you write native iPhone apps in Lua.
JSPatch实现原理详解 JSPatch作者对JSPatch实现原理的详解。
JSPatch 部署安全策略 JSPatch 部署安全策略
JSPatch Convertor实现原理详解 JSPatch Convertor 可以自动把 Objective-C 代码转为 JSPatch 脚本。
JSPatch JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.
JSPatchConvertor JSPatch Convertor is a tool that converts Objective-C code to JSPatch script automatically.
Integrating JavaScript into Native Apps WWDC: Introducing a new Objective-C API to JavaScriptCore. iOS developers can now integrate scripting into their apps without having to bundle custom language interpreters. This API builds on top of the existing C API to JavaScriptCore available on Mac, and makes programming with JavaScript much easier and less error-prone.
Web Inspector and Modern JavaScript WWDC: Web Inspector, the powerful debugging tool in WebKit, is now available to JavaScriptCore-based apps. Find out how to leverage Web Inspector in your WebKit- and JavaScriptCore-based apps on iOS and OS X. Gain an overview of what's new in the JavaScript language and how to use modern JavaScript in your apps.
Objective-C Runtime Guide OC runtime相关知识, 对了解JSPatch有一定帮助。
iOS热修复(动态Framework) 介绍动态framework修复app

AsyncDisplayKit

标题 内容简介
AsyncDisplayKit State of the Code (WWDC 2016) AsyncDisplayKit最新变化
AsyncDisplayKit源码 AsyncDisplayKit源码
AsyncDisplayKit 文档 AsyncDisplayKit 文档
Introducing AsyncDisplayKit: For smooth and responsive apps on iOS Introducing AsyncDisplayKit: For smooth and responsive apps on iOS
Building paper Building paper
Asynchronous UI Asynchronous UI
Effortless Responsiveness with AsyncDisplayKit Effortless Responsiveness with AsyncDisplayKit
AsyncDisplayKit 2.0 AsyncDisplayKit 2.0新特性介绍
AsyncDisplayKit Google Group AsyncDisplayKit Google Group
AsyncMessagesViewController A smooth, responsive and flexible messages UI library for iOS. Built on top of the awesome AsyncDisplayKit framework, it takes full advantage of asynchronous sizing, (non-auto) layout and text rendering to deliver a 5x fps (subject to increase) scrolling experience.
iOS App Performance: Graphics and Animations iOS App Performance: Graphics and Animations
iOS App Performance: Memory iOS App Performance: Memory
iOS App Performance: Responsiveness iOS App Performance: Responsiveness
Building Concurrent User Interfaces on iOS For a great user experience, it's essential to keep your application responsive while it renders complex UI elements and processes data. Learn how to use concurrency at the UIKit layer to perform drawing and other common operations without blocking user interaction.

视频资源

标题 内容简介
Type Erasure Magic Type Erasure Magic
WWDC 2014: What's New in Table and Collection Views 退了7以后 可以做的优化
What's new in swift 3 -- realm What's new in swift 3 -- realm
Futures and Promises, or how I learned to stop worrying and love the GCD Futures and Promises, or how I learned to stop worrying and love the GCD
swift talk We show our solutions to problems we find while building Swift projects. Enjoy a new episode of Swift Talk every week, packed with live-coding and discussions about the pros and cons of our decisions.
Advanced ObjC <-> Swift Interoperability This looks super painful to set up, but if you are stuck with Objective-C code, it's definitely worth it to take the time to go through and make it Swift-compatible.
Facebook 2016 f8视频 Facebook 2016 f8视频
Building Fabric.app in Swift When the Fabric team at Twitter wrote their new iOS app, they turned to Swift. Why? Javi Soto walks through their decision, and tells why they picked a language that emphasizes stability and maintainability & supports dependency injection, code generation, MVVM, and error reporting.
Artsy 的测试之旅 Artsy 拥有 4 个 iOS 应用,它们都已经全部开源,并且都采用了不同的方法来进行了测试。为什么这样做呢?因为不同的测试技术在各种的情况下的优劣各有不同。在 try! Swift 的本次演讲中,Ash Furrow 讨论了 Artsy iOS 团队做出这种决策背后的动机,谈论了他们所遇见到的问题,以及他们是如何克服这些困难的,以便能够帮助您更好的理解:为什么对于构建精美应用来说,进行测试以及何时进行测试是非常重要的。
Developing iOS 9 Apps with Swift 斯坦福的iOS开发课程,还是老头讲。
Facebook F8 2016 Youtube上的5个小时的《Facebook F8 Developer Conference 2016》可以学到很多东西,推荐。
Using Injection for Xcode - Runtime Code Injection Using Injection for Xcode - Runtime Code Injection
Brian Partridge - Result Driven Development 录音不是特别清楚,但是内容很好。需要翻墙
iOS内存管理及优化
Sharing Swift between iOS and OS X iOS 和 OS X之间共享代码, 演讲人 @wilshipley founder of Omni Group
Fun with Swift Chris Eidhof(objc.io创始人)
pomo.tv A collection of videos about Mac, iOS and Swift. Chris Eidhof 创办
The evolution of an iOS programmer Chris Eidhof本人讲述自己在iOS开发过程中的成长与收获。其中还是有很多点比较具有通用性,比如,写代码的时候时刻想着是为以后接收你代码人而写等等。

Debug

标题 内容简介
iOS高效调试 iOS高效调试
Using CocoaPods in Xcode Playgrounds 🍩🎪 在Playground中使用CocoaPods
手把手教你如何分析 iOS 系统栈 crash 手把手教你如何分析 iOS 系统栈 crash
与调试器共舞 - LLDB 的华尔兹 Xcode LLDB 详解
使用LLDB调试程序 使用LLDB调试程序
Xcode8调试黑科技:Memory Graph实战解决闭包引用循环问题
Memory Graph 实战演练

iOS 新特性

标题 内容简介
iOS 10 Runtime Headers iOS 10 Runtime Headers
Getting Ready for ATS Enforcement in 2017 Getting Ready for ATS Enforcement in 2017
iOS 10 适配 iOS 10 适配
Siri Integration in iOS 10 with Swift – SiriKit Tutorial Part 1 Part 2
Lessons learned with 3D Touch 详细介绍了3D touch 在instagram app中的应用。
开发者所需要知道的 iOS 10 SDK 新特性 开发者所需要知道的 iOS 10 SDK 新特性
IPv6 socket编程 IPv6 socket编程
iOS应用支持IPV6,就那点事儿 iOS应用支持IPV6,就那点事儿
Supporting IPv6 DNS64/NAT64 Networks 苹果有关适配IPV6的文档
Apple Pay 编程指南 Apple Pay介绍,配置和接入等
WWDC 2014 Session笔记 - iOS界面开发的大一统 什么时候可以抛弃iOS 7了,好多UI实现都可以换了
初探 iOS8 中的 Size Class 初探 iOS8 中的 Size Class
iOS9适配系列教程 iOS9适配系列教程
iOS 9 开发高级技巧 - 通过 12 个团队所提供的技巧来快速适配 iOS 9 iOS 9 开发高级技巧 - 通过 12 个团队所提供的技巧来快速适配 iOS 9
iOS 7 - 9新特性总结 总结iOS7-9开发者应该关注的变化。
Live Photo API on iOS What are Live Photos? From a marketing perspective, Live Photos record the moments just before and after you take a photo. Under the hood, a Live Photo is just a JPEG image together with a QuickTime file contaning an H.264 track.
Bitcode 解密 文章主要介绍了什么是bitcode,以及使用bitcode带来的好处与坏处。

工具/插件

工具/插件 简介
SwiftInitializerGenerator Xcode 8 Source Code Extension to Generate Swift Initializers
Import Xcode extension for adding imports from anywhere in the code ☝️
mac dev setup A beginner's guide to setting up a development environment on Mac OS X.
swift proposal analyzer An analysis of Swift Evolution proposals https://speakerdeck.com/jessesquires/140-proposals-in-30-minutes
Git 资源汇总 Git 资源汇总
dSYMTools 开源的 dSYM 文件分析工具,可帮助开发者快速定位报错函数
hirundo Hirundo (Latin for 'Swift') is a convenient way to browse and follow the discussions in the Swift mailing lists like Swift-Evolution or Swift-Dev. You can even bookmark messages of threads because they contain important information
graph style of the swift standard library graph style of the swift standard library
Mac CLI  OS X command line tools for developers – The ultimate tool to manage your Mac. It provides a huge set of command line commands that automatize the usage of your OS X system.
httpbin HTTP Request & Response Service, written in Python + Flask.http://httpbin.org
Paw Paw 是一款功能全面且设计美观的,用来与 REST 服务轻松交互的 Mac 应用。 无论您是 API 构建者或是消费者,Paw 都能够帮助您构建 HTTP 请求,检查来自服务器的响应,甚至可生成客户端代码。Networking with Paw
Potatso Potatso is an iOS client that implements Shadowsocks proxy with the leverage of NetworkExtension framework in iOS 9.
BuildTimeAnalyzer for Xcode Build Time Analyzer for Swift
wwdc downloader WWDC 2016 video downloader script written in Swift - no external dependency.
WWDC app for OS X WWDC app for OS X
octotree 推荐了一款chrome上显示github代码树的插件,octotree
nsdateformatter.com Easy Skeezy Date Formatting for Swift and Objective-C
swift watch SwiftWatch is a place to share links to interesting Swift resources like tutorials, blog posts, GitHub projects or more.
search code Search over projects from Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project, GitLab and more.
xi editor A modern editor with a backend written in Rust. from Google
Xcode Search Xcode search也许你还不知道的用法。
Build Me Up An Xcode plugin that keeps track of how long Xcode takes to build your project(s). It accumulates the total time and displays in the Activity View in the Xcode toolbar.
JSPatchX A XCode plugin that provides autocompletion for JSPatch
injection for xcode Runtime Code Injection for Objective-C & Swift
facebook xcbuild xcbuild is an Xcode-compatible build tool with the goal of providing faster builds, better documentation of the build process and running on multiple platforms (in particular OS X and Linux)
Xcode 插件介绍 文章推荐的几款插件都有助于提升Xcode开发效率,推荐尝试。
CleanMyMac 3 智能清理Mac磁盘空间。
如何用Github去管理你的Idea 如何用Github去管理你的Idea
Nomad World-Class Command Line Utilities For iOS Development. Mattt大神作品
fastlane fastlane lets you define and run your deployment pipelines for different environments. It helps you unify your app’s release process and automate the whole process. fastlane connects all fastlane tools and third party tools, like CocoaPods and Gradle.
Quiver 记事本工具软件,记录代码可以有各种语言语法高亮,支持markdown, LaTeX;支持同步备份等功能。
How to update an Xcode plug-in for the latest version of Xcode 解决更新Xcode后,插件无法使用的方法。注:示例上用的是XVim,把插件换成对应名称即可。
Alcatraz Xcode插件管理工具
XTodo 收集项目中的所有TODO,FIXME,???, !!!,并提供了一个页面用于查看。
Carthage 新的依赖管理工具 Carthage,和Cocoapods相比,Carthage是非侵入式的,不会修改xcode工程文件,只是帮助build出来frameworks。更灵活更干净。
LANTERN 科学上网神器,速度快,稳定。
XcodeColors 使 Xcode 调试控制台色彩更丰富
ClangFormat-Xcode 代码格式化工具
A quick reference for iOS devices. iOS 设备属性查询

程序员的自我修养

文章 简介
Hacker rank Hacker rank
A DIY COMPUTER SCIENCE EDUCATION 应当如何自学计算机科学(CS),本文基于众多专业工程师自学的教育经验给出了一个简短的指南。
How to be a programmer A guide on how to be a Programmer - originally published by Robert L Read https://braydie.gitbooks.io/how-to-be-a-programmer/content/
How does a relational database work 关系数据库原理,文章很长,适合慢慢看。。。
Rob Pike - 'Concurrency Is Not Parallelism' Rob Pike讲解Concurrency 和 Parallelism的区别.
成为谷歌程序员,你需要准备什么? 成为谷歌程序员,你需要准备什么?
TED 采访linus 中文字幕版
程序员到底是一个什么职业? 程序员到底是一个什么职业?
MARGARET HAMILTON MARGARET HAMILTON,一个女程序员,她的代码把人送上了月球。有兴趣的朋友可以前往一读
编程的智慧 编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。
为什么你应该先成为全栈工程师 为什么你应该先成为全栈工程师
作为一个程序员,进步完全取决于自己 文章中说道,作为一个程序员要不断尝试学习新的知识,充实自己。不要在乎学的东西现在有没有用处,要让自己的大脑不断接触新的东西。
技术高手如何炼成 技术高手如何炼成
teach yourself programming in ten years Peter Norvig一篇如何学习编程。
how to be a hacker how to be a hacker
Test-Driven Development is Stupid 关于TDD的一篇文章,可以看看,以及Hacker News上的讨论
ABC: Always be coding 如何提(准)升(备)自(面)己(试)。
Leveling Up 个人觉得是一篇很好的iOS进阶提升的一个好文章,推荐给有一定iOS开发经验并想继续提升自己的同学。
软件专利的荒谬性 Patent_Absurdity 推荐一部纪录片《软件专利的荒谬性》
代码整洁之所以重要的七个理由 为什么代码整洁是如此重要
技术债务:究竟让你付出了多大代价? 技术债务:究竟让你付出了多大代价?
如何配置一个高效的 Mac 工作环境 如何配置一个高效的 Mac 工作环境

博客

博客地址 博主信息
swifting 高质量swift博客
zen iOS心得
Pinterest Engineering blog Pinterest Engineering blog
iPhoneDevWiki Our goal is to share the sum of all human[1] knowledge about jailbroken iOS development. In other words, this is a collection of documentation written by developers to help each other write extensions (tweaks) for jailbroken iOS, and you're invited to learn from it and contribute to it too.
Top 100 Best Blogs for iOS Developers Top 100 Best Blogs for iOS Developers
iOS insight iOS insight
Google Research Blog The latest news from Research at Google
artsy engineering team artsy engineering team
一个iOS菜菜的白话文记录 一个高产的博主
Rollout Deploy code-level changes to native iOS apps,without waiting on the App Store.
美团技术团队博客 美团技术团队博客
微信阅读团队技术博客 微信阅读团队技术博客
移动开发前线 移动开发前线
twitter技术团队博客 twitter技术团队博客
Clean Swift Clean Architecture + TDD. Code less. Test more.
swift modules Swift Modules is an open and searchable index of Swift Package Manager modules. Swift version 3, currently in beta, introduced the Swift Package Manager. It makes packaging and including Swift libraries incredibly easy, but discovering these modules is still somewhat problematic. Swift Modules aims to solve that problem by providing tools to help you find and integrate packages!
小土刀 各种CMU课程的笔记等技术文章。
Garan no Dou @ibireme 文章深入, 开源代码质量高,值得关注
OneV's Den 王巍(喵神), 现居日本, 就职于 LINE, 知名 iOS 开发者, 写的文章大多深入浅出, 内容广泛, 目前在维护的 Swifter 也值得收藏
NSHipster NSHipster 的中文网站, 主要对 NSHipster 的英文网站进行翻译, 博文出自 Mattt 大神之手, 文章大都写得很深入, 详细, 每周一更
Limboy 无网不剩 李忠, 知乎前员工, 目前在负责花瓣 iOS 开发, 不少文章里面有介绍博主个人的学习方法, 让读者在学到技术的同时也掌握学习的技巧
IMTX 图拉鼎, 知名 Apple 平台开发者, 曾经的 Ubuntu 平台开发者, 文章有不少干货, 大多讲解技术实现和学习经验
Facebook iOS技术博客 Facebook 在iOS上的一些优秀实践,很多值得我们学习,希望大家也多多关注。
SwiftGG 翻译的Swift国外优秀技术博客
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.