使用Xcode編譯 安裝編譯工具 首先,使用Homebrew安裝cmake和nijia 我的電腦本地編譯工具環(huán)境為 拉取源碼 在家目錄新建文件夾swift-source,并從...
一、先說注意點,很重要 如果你的APP引入的三方庫或者系統(tǒng)庫適用范圍大于Deployment Target里面的數(shù)值,項目是無法運行的。所以Deployment Target...
在 WWDC 2016 和 2017 都有提到啟動這塊的原理和性能優(yōu)化思路,可見啟動時間,對于開發(fā)者和用戶們來說是多么的重要,本文就談談如何精確的度量 App 的啟動時間,啟...
之前在使用Swift的過程中沒有注意到這兩者的區(qū)別,最近看到一篇文章介紹二者的區(qū)別,記下筆記。 接下來看下二者的定義 從以上可以看出Any和AnyObject都是協(xié)議而且,并...
引言: 眾所周知,我們的iOS應用是通過Dyld進行加載的,那么Dyld是如何加載我們的應用的,它的流程是怎樣的,下面我們把dyld的加載分為幾個步驟做個簡短的分析。 1 d...
dyld加載流程圖 建議大家在閱讀文章的時候,結合流程圖閱讀。這樣方便理解這個流程,可以將圖片下載到本地,一邊閱讀一邊比對。 1、dyld 1.1 簡介dyld(The dy...
前言 我們知道OC的上層方法調(diào)用時,在底層都會轉化為objc_msgSend調(diào)用,那么它的流程是怎么樣的呢,我們又如何理解它, 我們帶著這些疑問來分析objc_msgSend...
建議先看下 Objc4-818底層探索(九):msgSend消息發(fā)送(二): 慢速查找[http://www.itdecent.cn/p/33566f37a123] 名詞解...
上篇文章分析了 消息慢速查找[http://www.itdecent.cn/p/db43c28e0e11] 流程,當消息找不到的時候會執(zhí)行_objc_msgForward_...
當lookupImpOrForward函數(shù)從cache和methodTable中找不到對應Method,繼續(xù)向下執(zhí)行就會來到resolveMethod_locked函數(shù)也就是...
我們之前分析了消息查找流程 首先,調(diào)用objc_msgSend,從cache中快速查找,命中就執(zhí)行對應的imp 其次,如果cache中沒有找到,就調(diào)用lookUpImpOrF...
alloc探索 通過這篇文章可以知道什么: alloc方法是如何開辟內(nèi)存的,開辟了多少內(nèi)存? 在alloc過程中內(nèi)存、指針有什么關系? alloc是如何開辟內(nèi)存空間的? 如何...