主页 iOS Development Knowledge Accumulation
Post
Cancel

iOS Development Knowledge Accumulation

I’ve been working on iOS development for a long time. In the past, I used my brain to memorize technical articles and the code of technical implementations. But when a person’s brain exceeds a certain storage limit, stack overflow occurs (actually, I’m just not that smart). Later, I gradually started to remember which blog was written by whom, or the code of how a technique was implemented… But then I found that not only was the stack overflowing, the heap could barely hold the vast number of iOS technical articles anymore… Sigh. So I kept all the classic article bookmarks and browser URLs in my Chrome. Now I want to organize them and put them in my blog, to make it easy to look up the code of a certain technical implementation (in fact, even my former intern colleagues at Baidu Cloud were amazed at how I could store a certain technique in such detail). OK, let’s start the iOS knowledge point technical navigation.

The iOS technical categories are as follows:

  • Audio
  • Camera & Photos
  • Graphics & Images
  • Animation
  • UI Transitions
  • ASDK (AsyncDisplayKit)
  • Swift-related
  • Math & Graphics
  • Architecture
  • Masonry
  • CocoaPods
  • File-related

Audio

iOS Audio Playback (1): Overview
iOS Audio Playback (2): AudioSession
iOS Audio Playback (3): AudioFileStream
iOS Audio Playback (4): AudioFile
iOS Audio Playback (5): AudioQueue
iOS Audio Playback (6): Implementation of a Simple Audio Player
iOS Audio Playback (7): Playing Songs from the iPod Library
iOS Audio Playback (8): NowPlayingCenter and RemoteControl
iOS Audio Playback (9): Play While Caching

The above content comes from 码农人生. I’ve had exchanges with this guy; his knowledge of low-level audio technology is quite thorough, suitable for beginners and intermediate developers to study, learn, and use.

Graphics Processing

Basics a series of tutorials that can be read straight through
GPUImage library
iOS GPUImage Source Code Analysis (1) Open-Sourcing a Camera App Published on the App Store

Graphics & Images

Face Recognition Based on OpenCV
Image Editing

Animation

Analysis of the Draggable Unread Bubble Dismissal in QQ
iOS Custom Pull-Down Line Animation
A Library Covering All iOS Animation Effects pop

To learn animation, the most reliable way is to start with the animation posts of 骑滔(Kitten)
The above are general animation posts, 2 of which are from Kitten
Continually updated

Transition Animation

WWDC 2013 Session Notes - ViewController Transitions in iOS 7 This post by 喵神 is a must-read

UIPresentationController Tutorial: Getting Started requires a VPN (翻墙)
(By the way, let me explain the term “翻墙” (climbing the wall). The formal term for it is 科学上网 (scientific internet access); in slang it’s called 自备梯子 (bring your own ladder), because at first everyone used 云梯VPN to access foreign websites. Our country set up a huge local-area network behind a crappy firewall. Although it has hindered the development of world civilization and technology, it also blocks some unhealthy content — for instance, what if one day you build a lathe and make a submachine gun, haha. So getting over that firewall is commonly known as “翻墙” (wall climbing).)

__[Custom View Controller Transition Animation and a Small Pull-Down Menu DemoAppCoda Translation Series](http://wxgbridgeq.github.io/blog/2015/08/10/custom-transition-animation/)__

You can also search GitHub for Transition
There are many such transition animations; I won’t introduce them one by one.

ASDK (AsyncDisplayKit)

Official Documentation (requires a VPN)
Chinese Translation
AsyncDisplayKit 2.0 Tutorial: Getting Started
AsyncDisplayKit 2.0 Tutorial: Automatic Layout
Translation of the Official AsyncDisplayKit Documentation
AsyncDisplayKit Source Code Analysis (1): Outline
AsyncDisplayKit Source Code Analysis (2): Asynchronous Rendering
Performance Tuning with ASDK - Improving the Rendering Performance of iOS UIs

The posts above come from raywenderlich
The source code analyses come from 折腾范儿の味精 , the blog of a colleague from the Baidu Read team
Here I want to share my views on ASDK. I’ve tried to read the source code and the official documentation, and I found that this is not something you can just start using right away. It’s almost like having a beginner learn UIKit all over again — integration is quite simple, but just the layout system alone is enough for a developer to study for a while, and you can’t use Masonry with it. However, for a page with simple functionality that needs performance tuning, it’s worth considering.

喵神’s website It seems to have stopped updating. In the iOS development field, 喵神 is truly a god-like presence.
Swift Random Numbers from 南峰子 老驴, a former Baidu colleague who now works at JD Finance, I believe. I’ve had technical exchanges with him; a really impressive guy.
A Must-Read for Swift 3: Understanding the New GCD API Through Use Cases I haven’t gotten to know this guy, but many of his articles are well written. Hope to have a chance to exchange ideas in the future.

Continually updating…

Math & Graphics

Mathematics for Graphics e.g., Fourier transform

Architecture

Casa’s Blog

I have to comment on this Casa guy. He’s the only iOS architect I truly admire. In my words, this is what a real architect in a programmer’s mind looks like, not those so-called architects who merely sound impressive. When I worked at Baidu Cloud (the one you see as Baidu Netdisk), there was a T8 architect sitting right across from me. That architect was so idle every day that I really wanted to kick his ass. He modified the iOS program without even removing the xib references, which eventually caused a crash in production. I actually really want to give him a piece of advice: no matter how awesome your skills are, you should keep writing code every day. Remember the words of Confucius: 『吾尝终日而思矣,不如须臾之所学也』(I once spent all day pondering, but it wasn’t as good as a moment of learning).
This Casa guy showed me what an architecture engineer and a business engineer are. He’s someone who can truly write architecture code and then throw it to the business engineers, saying: follow this approach.

Masonry


Interesting AutoLayout Examples - Implemented with Masonry
Interesting AutoLayout Examples 2 - Implemented with Masonry Interesting AutoLayout Examples 3 - Implemented with Masonry Interesting AutoLayout Examples 4 - Implemented with Masonry
Interesting AutoLayout Examples 5 - Implemented with Masonry

iOS Auto Layout Framework - Masonry in Detail
Masonry — Using Pure Code for Adaptive Auto Layout in iOS Apps Chinese translation

By the way, I personally think that to learn Masonry, you only need to read the Chinese translation first and then go through 土土哥’s (Brother Tutu’s) tutorial, and you’ll get it. 土土哥’s Masonry tutorial is basically the Chinese documentation. Very well written.

CocoaPods

Using CocoaPods for Dependency Management in iOS Programs A must-read article by 巧神

File List
HYFileManager

Blog List

Blog URLRSS URL
OneV’s Denhttp://onevcat.com/atom.xml
破船之家http://beyondvincent.com/atom.xml
NSHipsterhttp://nshipster.cn/feed.xml
Limboy 无网不剩http://feeds.feedburner.com/lzyy
唐巧的技术博客http://blog.devtang.com/atom.xml
Lex iOS noteshttp://ios.lextang.com/rss
念茜的博客http://nianxi.net/feed.xml
Xcode Devhttp://blog.xcodev.com/atom.xml
Ted’s Homepagehttp://wufawei.com/feed
txx’s bloghttp://blog.t-xx.me/atom.xml
KEVIN BLOGhttp://imkevin.me/rss
阿毛的蛋疼地http://www.xiangwangfeng.com/atom.xml
亚庆的 Bloghttp://billwang1990.github.io/atom.xml
Nonomorihttp://nonomori.farbox.com/feed
言无不尽http://tang3w.com/atom.xml
Wonderffee’s Bloghttp://wonderffee.github.io/atom.xml
I’m TualatriXhttp://imtx.me/feed/latest/
vclweihttp://vclwei.com/posts.rss
Cocoabithttp://blog.cocoabit.com/atom.xml
nixzhu on scriptogr.amhttp://nixzhu.me/feed
不会开机的男孩http://studentdeng.github.io/atom.xml
Nicohttp://www.taofengping.com/rss.xml
阿峰的技术窝窝http://hufeng825.github.io/atom.xml
answer_huanghttp://answerhuang.duapp.com/index.php/feed/
webfrogshttp://webfrogs.me/feed/
代码手工艺人http://joeyio.com/atom.xml
Lancy’s Bloghttp://gracelancy.com/atom.xml
I’m Allenhttp://www.imallen.com/atom.xml
Travis’ Bloghttp://imi.im/feed
王中周的技术博客http://wangzz.github.io/atom.xml
会写代码的猪http://gaosboy.com/feed/atom/
克伟的博客http://feed.cnblogs.com/blog/u/23857/rss
摇滚诗人http://feed.cnblogs.com/blog/u/35410/rss
Luke’s Homepagehttp://geeklu.com/feed/
萧宸宇http://iiiyu.com/atom.xml
Yuan博客http://www.heyuan110.com/?feed=rss2
Shining IOhttp://shiningio.com/atom.xml
YIFEIYANG–易飞扬的博客http://www.yifeiyang.net/feed
KooFrank’s Bloghttp://koofrank.com/rss
hello it workshttp://helloitworks.com/feed
码农人生http://msching.github.io/atom.xml
玉令天下的Bloghttp://yulingtianxia.com/atom.xml
不掏蜂窝的熊http://www.hotobear.com/?feed=rss2
猫·仁波切https://andelf.github.io/atom.xml
煲仔饭http://ivoryxiong.org/feed.xml
里脊串的开发随笔http://adad184.com/atom.xml
Chun Tipshttp://chun.tips/atom.xml
Why’s blog - 汪海的实验室http://blog.callmewhy.com/atom.xml
该博客文章由作者通过 CC BY 4.0 进行授权。