名称 | 简介 |
---|---|
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 |
Protocol Oriented Programming in the Real World | Swift Protocol Oriented Programming的使用例子。 |
Swift Functors, Applicatives, and Monads in Pictures | 学了点 haskell ,在 swift 中新加的很多语言特性都是从 haskell 那里“抄”来的,比如强大的枚举、 switch 等等。 functor 、 applicative 和 monads 历来是 haskell 学习中相对比较难理解的概念,这篇文章用 swift 简明易懂的做了解释。 |
Advanced NSOperations | 对于使用NSOperation提供了一个新颖的使用方案,比较开拓思路,此seesion有 sample code 结合观看效果更加 |
Inside Swift | Swift的内部机制 |
名称 | 简介 |
---|---|
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 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 |
名称 | 简介 |
---|---|
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 |
名称 | 简介 |
---|---|
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的消息派发机制 |
文章名称 | 简介 |
---|---|
制作一个苦力 | 由JSON文件生成对应的数据Model对象struct, class. |
『零行代码』解决键盘遮挡问题(iOS) | 『零行代码』解决键盘遮挡问题(iOS) |
几句代码快速集成自定义转场效果+ 全手势驱动 | 几句代码快速集成自定义转场效果+ 全手势驱动 |
iOS程序main函数之前发生了什么 | iOS程序main函数之前发生了什么 |
Friday Q&A 2012-11-09: dyld: Dynamic Linking On OS X | Friday Q&A 2012-11-09: dyld: Dynamic Linking On OS X |
MVVMFramework-Swift | (Swift版)总结整理下一个快速开发框架,以更优雅的方式写代码,做一个代码艺术家。分离控制器中的代码,已加入cell自适应高度,自动缓存网络请求代码,降低代码耦合,提高开发效率。其中还有很多相关资源的链接。 |
[译]字体渲染背后不得不说的故事 | [译]字体渲染背后不得不说的故事 |
UITableView Tips | UITableView Tips |
微信读书 iOS 性能优化总结 | 微信读书 iOS 性能优化总结 |
简单监测iOS卡顿的demo | 简单监测iOS卡顿的demo |
常见操作性能对比 | 常见操作性能对比 |
IPv6 socket编程 | IPv6 socket编程 |
iOS应用支持IPV6,就那点事儿 | iOS应用支持IPV6,就那点事儿 |
iOS 二维码扫描(你想要的都在这里了) | iOS 二维码扫描(你想要的都在这里了) |
Building a Simple Barcode Reader App in Swift | Building a Simple Barcode Reader App in Swift |
swift markdown | 用markdown写Xcode文档 |
Clang Attributes 黑魔法小记 | Clang Attributes 黑魔法小记 |
Quartz2D 编程指南 | Quartz2D 编程指南 |
iOS开发--应用设置及用户默认设置 | iOS开发--应用设置及用户默认设置 |
secrets of mobile network performance | secrets of mobile network performance |
基于TLS1.3的微信安全通信协议mmtls介绍 | 基于TLS1.3的微信安全通信协议mmtls介绍 |
iOS中使用blend改变图片颜色 | iOS中使用blend改变图片颜色 |
iOS 开发——你真的会用 SDWebImage? | SDWebImage源码解析 |
How to write a unit test which passes if a function throws? | 目前Xcode Unit Test没有对抛出异常的函数进行处理的XCT方法,文中添加了第三方的写法。 |
iOS瘦身之删除无用的mach-O文件 | iOS瘦身之删除无用的mach-O文件 |
Building and managing iOS model objects with Remodel | Building and managing iOS model objects with Remodel |
教你使用Xtrace读懂Mantle源码 | 上周周报刚刚整理了Xtrace这个开源库,这篇文章是结合该开源库去阅读源码。 |
微信文件微起底 | 微信文件微起底 |
Injection for Xcode:成吨的提高开发效率 | Injection for Xcode:成吨的提高开发效率 |
读 Threading Programming Guide 笔记 | 一 二 三 四 |
如何防止客户端被破解 | 很多应用都需要用户登录或者签名认证,这可能需要在客户端保存登录信息、签名密钥、加密算法等。如何保证这些重要信息不被窃取,算法不被破解,这些成为应用开发中很重要的内容,同样也是最容易忽视的地方。一个小小的细节可能就成为整个系统的突破口,这里从实际工程角度总结了一些容易忽视的细节和常用的方法。 |
Square对iOS App架构的新尝试---Ziggurat | Square对iOS App架构的新尝试---Ziggurat |
UITableView性能优化 | UITableView性能优化 |
Parse的底层多线程处理思路:GCD高级用法 | Parse的底层多线程处理思路:GCD高级用法 |
利用贝塞尔曲线实现Q弹的下拉刷新 | 利用贝塞尔曲线实现Q弹的下拉刷新 |
看,这白白的液体滴了一地 | 液态效果动画 |
What the 55 Swift Standard Library Protocols Taught Me | 作者为raywenderlich长期教程作者,主要介绍了其从Swift标准库提供的protocol学到了哪些,推荐观看,需翻墙。 |
iOS开发之如何跳到系统设置里的各种设置界面 | iOS开发之如何跳到系统设置里的各种设置界面 |
AFNetworking 3.0迁移指南 | 为了迎合iOS新版本的升级,AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于NSURLSession的API的AFNetworking的版本。 |
iOS开发系列--让你的应用“动”起来 | 讲解IOS 动画相关~博主的文笔和排版灰常赞~其系列博文值得一读 |
优化Facebook iOS app启动时间 | 优化Facebook iOS app启动时间 |
Lessons learned with 3D Touch | 详细介绍了3D touch 在instagram app中的应用。 |
iOS 保持界面流畅的技巧 | iOS 保持界面流畅的技巧 |
AFNetworking2.0源码解析<一> | AFNetworking2.0源码解析<一> |
AFNetworking2.0源码解析<二> | AFNetworking2.0源码解析<二> |
AFNetworking2.0源码解析<三> | AFNetworking2.0源码解析<三> |
iOS 处理图片的一些小 Tip | iOS 处理图片的一些小 Tip |
移动端图片格式调研 | 移动端图片格式调研 |
iOS APP安全杂谈之三 | iOS APP安全杂谈之三 |
iOS高性能图片架构与设计 | iOS高性能图片架构与设计 |
单元测试框架选型 | 介绍单元测试框架选型,对比几个知名测试框架 |
OCMock常见使用方式 | 介绍CMock常见使用方式 |
Singleton如何测试 | 介绍Singleton如何测试 |
单元测试编码规范 | 介绍单元测试编码规范 |
Reducing FOOMs in the Facebook iOS app | 这篇文章介绍了Facebook如何减少由于系统内存压力导致的应用Crash。为追踪非应用本身Bug 造成的crash提供了一个思路。 |
Faster Photos in Facebook for iOS | 这篇文章介绍了Facebook使用Progressive JPEG加快图片加载的优缺点对比。附上一个Progressive image的开源库 |
On Using SQLite and FMDB Instead of Core Data | 关于使用Sqlite的一些实践,对我们项目里Sqlite的使用有很多可以借鉴的东西。 |
文章名称 | 简介 |
---|---|
新浪微博iOS客户端架构与优化之路 | 新浪微博iOS客户端架构与优化之路 |
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 |
构建iOS稳定应用架构时方案选择的思考 | 构建iOS稳定应用架构时方案选择的思考 |
名称 | 推荐理由 |
---|---|
LayoutKit | LayoutKit is a fast view layout library for iOS. http://layoutkit.org |
fantastic-ios-animation | A collection of iOS animation repos |
Scrollable-GraphView | An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. |
Render | React-inspired Swift library for writing UIKit UIs. |
PMAlertController | PMAlertController is a great and customizable substitute to UIAlertController |
JPFPSStatus | Show FPS Status on StatusBar |
15DaysofAnimationsinSwift | 动画相关,不是15天从入门到放弃。 |
TextAttributes | TextAttributes makes it easy to compose attributed strings. |
SubtleVolume | Replace the system volume popup with a more subtle indicator. |
Advance | A powerful animation framework for iOS. |
FLAnimatedImage | FLAnimatedImage is a performant animated GIF engine for iOS |
LazyTableImages: Populating UITableView content asynchronously | 苹果官方出了个demo,LazyTableImages,对列表里图片很多的情况有很好的优化作用。我看了一下,挺实用的。 |
IBAnimatable | Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. |
RACollectionViewReorderableTripletLayout | UICollectionView 排序 |
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. |
SlackTextViewController | A drop-in UIViewController subclass with a growing text input view and other useful messaging features. |
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. |
Instructions | 新手引导 |
FDStackView | Use UIStackView directly in iOS6+ ,百度知道团队开源代码 |
Concorde | Progressive JPEG 图片加载的三方库。 |
MessageDisplayKit | MessageDisplayKit 模仿微信样式的开源IM |
JSQMessagesViewController | 开源聊天界面组件 |
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. |
名称 | 推荐理由 |
---|---|
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. |
名称 | 推荐理由 |
---|---|
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 作者) 推荐 |
名称 | 推荐理由 |
---|---|
Then | |
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 |
名称 | 推荐理由 |
---|---|
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. |
名称 | 推荐理由 |
---|---|
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. |
名称 | 推荐理由 |
---|---|
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! |
标题 | 内容简介 |
---|---|
DNS 原理入门 | DNS 原理入门 |
iOS 视图控制器转场详解 | 非常详尽讲解转场。 |
Cocoapods系列教程 | 一 二 三 从零开始到各种私有管理 |
Apple Memory Usage Performance Guidelines | 是上面内存管理及优化视频中提到的苹果文档。 |
Swift GYB 简易教程 | Swift源码中很多GYB文件,本文简单介绍了如何使用GYB生成代码模板及如何使用GYB生成源码文件。我觉得对于查看Swift源码有帮助。 |
深入浅出-iOS函数式编程的实现 && 响应式编程概念 | 本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助 |
iOS自定义转场动画实战讲解 | iOS自定义转场动画实战讲解 |
iOS内存管理和malloc源码解读 | iOS内存管理和malloc源码解读 |
Reader Submissions -- NSHipster | 由NSHipster读者提供的一些小技巧。 |
27 iOS open source libraries to skyrocket your development. | 27个常用的iOS开源库。 |
高效开发iOS系列 -- 那些不为人知的KVC | 文章主要讲解了KVC中容易被开发者忽视却很有用的用法。 |
iOS开发之深入理解GCD | 本文为raywenderlich 深入理解GCD的一篇译文,详细讲解了GCD相关的知识。 |
How to C in 2016 | How to C in 2016 |
不再安全的 OSSpinLock | OSSPinLock作为锁已经不再安全了,文章还对比了各种锁的性能对比。 |
Swift's mysterious Builtin module | 揭秘Swift内置模块 |
Creating your first iOS Framework | 手把手教你创建自己的framework |
charles中如何对https抓包 | 使用Charles抓https请求数据包 |
concurrency apis and pitfalls | concurrency apis and pitfalls |
Common background practices | Common background practices |
Low level concurrency apis | Low level concurrency apis |
Thread safe class design | Thread safe class design |
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视图策略 |
防止点击 Cell 时 ViewController 被重复 Push | 寻找疑难问题的解决办法,再做合理分析以便确定可使用 |
Building a Core Foundation | Building a Core Foundation |
iOS 开发之照片框架详解 | 包括AssetsLibrary及新库photoKit( 官方demo ) |
NSFormatter | 各种听过没听过,用过没用过的formatter |
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. |
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. |
iOS开源库介绍-FCModel | iOS开源库介绍-FCModel |
Delivering high scroll performance | Delivering high scroll performance |
Bitcode 解密 | 文章主要介绍了什么是bitcode,以及使用bitcode带来的好处与坏处。 |
Using multiple UIWindows in iOS applications | Using multiple UIWindows in iOS applications |
UIWindow in iOS | UIWindow in iOS |
Swift Weak References | Swift 下若引用原理解析。推荐阅读 |
Open-source Swift: Booleans | Booleans -- Swift源码阅读 |
NSCache | NSCache -- Swift源码阅读 |
iOS同步对象性能对比 | iOS同步对象性能对比 |
深入理解Kingfisher(上) | 深入理解Kingfisher(上) |
深入理解Kingfisher(下) | 深入理解Kingfisher(下) |
详说CMDeviceMotion | 来自NSHipster 的翻译文章,获取陀螺仪、加速器和磁力仪(罗盘)等传感器数据,get交互灵感 |
Spelunkhead | 跟着博文作者一起探索iOS系统framework。 |
moby.sh | 下载所有framework head文件,并放入一个输出文件夹中,方便搜索查看API接口,新API等。 |
Facebook开源的Parse源码分析 | Facebook开源的Parse源码分析 |
利用UIWebView打造一个炫酷的视频背景视图(OC & Swift) | 视频背景View, 适合做Hi 5.0的登录窗口。 |
Elastic view animation using UIBezierPath | Elastic view animation using UIBezierPath |
Automatically Formatting Your Objective-C | 自动格式化代码工具ClangFormat-Xcode使用。 |
CALayer Animation实践(一):让应用灵动起来! | CALayer 动画实践(一) |
CALayer动画实践(二):CAReplicatorLayer的用法 | CALayer 动画实践(二) |
代码整洁之所以重要的七个理由 | 为什么代码整洁是如此重要 |
技术债务:究竟让你付出了多大代价? | 技术债务:究竟让你付出了多大代价? |
如何配置一个高效的 Mac 工作环境 | 如何配置一个高效的 Mac 工作环境 |
CocoaPods的一些略为高级一丁点的使用 | CocoaPods的一些略为高级一丁点的使用 |
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 |
标题 | 内容简介 |
---|---|
React Native | Facebook的开源库,使用 React.js 开发原生应用。 |
Facebook f8 app open source | React Native 最佳学习项目来了,Facebook 开源了 F8 App 全套代码,包括 Android,iOS 和 Server 端,其中涉及 React Native, Redux, Relay, GraphQL 等技术,更感人的是配套了教程讲解整个 APP(包括前后端) 是怎么做出来。 教程 |
标题 | 内容简介 |
---|---|
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 | 虽然是针对 JavaScript 的 Rx 库的,但是对 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入门文章 |
标题 | 内容简介 |
---|---|
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源码 |
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. |
标题 | 内容简介 |
---|---|
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. |
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开发过程中的成长与收获。其中还是有很多点比较具有通用性,比如,写代码的时候时刻想着是为以后接收你代码人而写等等。 |
标题 | 内容简介 |
---|---|
Using CocoaPods in Xcode Playgrounds | 在Playground中使用CocoaPods |
手把手教你如何分析 iOS 系统栈 crash | 手把手教你如何分析 iOS 系统栈 crash |
与调试器共舞 - LLDB 的华尔兹 | Xcode LLDB 详解 |
使用LLDB调试程序 | 使用LLDB调试程序 |
标题 | 内容简介 |
---|---|
开发者所需要知道的 iOS 10 SDK 新特性 | 开发者所需要知道的 iOS 10 SDK 新特性 |
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. |
工具/插件 | 简介 |
---|---|
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 设备属性查询 |
文章 | 简介 |
---|---|
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 | 推荐一部纪录片《软件专利的荒谬性》 |
博客地址 | 博主信息 |
---|---|
一个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 也值得收藏 |
唐巧的技术博客 | 唐巧, 国内知名 iOS 开发者, 现就职于猿题库, 博客推出的 iOS 移动开发周报很受欢迎, 更新频繁 |
txx's blog | 90 后 iOS 开发者, 人称虾神, 文章内容讲解大多浅白易懂, 很值得看 |
破船之家 | 博主也是 iOS 大神一个, 经常更新一些 iOS 教程, 文章的质量都很高, 非常值得看 |
NSHipster | NSHipster 的中文网站, 主要对 NSHipster 的英文网站进行翻译, 博文出自 Mattt 大神之手, 文章大都写得很深入, 详细, 每周一更 |
Limboy 无网不剩 | 李忠, 知乎前员工, 目前在负责花瓣 iOS 开发, 不少文章里面有介绍博主个人的学习方法, 让读者在学到技术的同时也掌握学习的技巧 |
iOS技术周报 | 吴发伟, 天猫资深软件开发工程师, iOS 技术周报每周一更, 推送一些 iOS 技巧, 代码库, 设计等资讯. |
iWangKe.me | 王轲, IndieBros Studio 创始人, 优秀的 iOS 开发工程师, 写的文章深入浅出, 很多问题分析透彻, 非常有条理性 |
叶孤城 | 叶孤城, 优秀 iOS 开发工程师, 发表的文章都有很多干货, 对源码解析类文章写得浅显易懂, 并时常总结一些 iOS 开发技巧, 值得一读 |
Kevin Blog | 周楷雯, 秒视创始人, 知名 iOS 工程师, 做出了PNChart 和Waver 这样的好项目, 在博客中也有谈到具体的实现过程 |
IMTX | 图拉鼎, 知名 Apple 平台开发者, 曾经的 Ubuntu 平台开发者, 文章有不少干货, 大多讲解技术实现和学习经验 |
Facebook iOS技术博客 | Facebook 在iOS上的一些优秀实践,很多值得我们学习,希望大家也多多关注。 |
SwiftGG | 翻译的Swift国外优秀技术博客 |