AppleID賬號(hào)停用復(fù)盤 公司賬號(hào)下個(gè)月續(xù)費(fèi),想看下具體幾號(hào),登錄主賬號(hào)發(fā)現(xiàn)正確的賬號(hào)密碼提示賬號(hào)密碼錯(cuò)誤,在重置密碼的過程中發(fā)現(xiàn)提示AppleID已停用,網(wǎng)上查詢大多是處...
AppleID賬號(hào)停用復(fù)盤 公司賬號(hào)下個(gè)月續(xù)費(fèi),想看下具體幾號(hào),登錄主賬號(hào)發(fā)現(xiàn)正確的賬號(hào)密碼提示賬號(hào)密碼錯(cuò)誤,在重置密碼的過程中發(fā)現(xiàn)提示AppleID已停用,網(wǎng)上查詢大多是處...
Xcode自動(dòng)打包上傳腳本 之前因?yàn)轫?xiàng)目比較小,也不經(jīng)常發(fā)版,所以一直都是手動(dòng)打包上傳。最近由于懶的打包的時(shí)候一直盯著點(diǎn)東西,再加上上傳時(shí)Xcode比較卡,耽誤摸魚,所以就打...
第十四節(jié)課 類的加載原理(上) 上一篇文章我們了解了一下應(yīng)用程序的加載,我們通過逐步推斷,了解了dyld的大致流程,dyld是如何一步步的加載我們的庫,與鏡像文件的。而這片...
第十三節(jié)課 底層原理自測(cè)(一) 一、選擇題1.在LP64下,一個(gè)指針有多少個(gè)字節(jié) (B)A.4B.8C.16D.64解析:1個(gè)指針8字節(jié) 2.一個(gè)實(shí)例對(duì)象的內(nèi)存結(jié)構(gòu)存在哪些...
第十二節(jié)課 應(yīng)用程序加載 應(yīng)用程序的加載原理 首先,我們每次Xcode跑程序的時(shí)候不知道大家有沒有好奇它這個(gè)啟動(dòng)流程到底是什么樣子的? 編譯過程: ! 源文件:載入.h、.m...
第十一節(jié)課 消息轉(zhuǎn)發(fā) instrumentObjcMessageSends輔助分析方法的介紹 作用:打印出指定區(qū)域內(nèi)調(diào)用的所有的方法、并往指定路徑下生成文件 使用方式: 查看...
第十節(jié)課 消息動(dòng)態(tài)決議 在經(jīng)過我們的快速與慢速查找之后依舊沒有找到的怎么辦呢?cache_getImp的父類查找流程中LGETImpMissDynamic返回為空的情況下,并...
第九節(jié)課 消息慢速查找 上篇文章我們分析了快速查找流程,并繪制了流程圖,結(jié)尾處,當(dāng)快速查找結(jié)束并沒有找到想要的,這個(gè)時(shí)候我們就來到了慢速查找流程了。我們先來簡(jiǎn)單回顧下,然后再...
第八節(jié)課 消息流程分析之快速查找(下) 上篇文章我們通過源碼查看了方法底層調(diào)用的邏輯,但是只分析到了objc_msgSend的主體邏輯,并沒有深入了解,那么這篇文章我們就繼續(xù)...
第七節(jié)課 消息流程分析之快速查找(上) 在上篇文章我們分析了cache的insert流程,但是在insert之前呢?還有一個(gè)cache讀取流程,即objc_msgSend 和...
第六節(jié)課 Cache分析 在之前的文章里面,我們通過分析cache的內(nèi)存大小來取得bits的地址,但是我們還不知道cache里的內(nèi)部結(jié)構(gòu),這篇文章我們就來重點(diǎn)研究下cache...
第五節(jié)課 類的原理分析(下) 成員變量和屬性以及編碼 成員變量VS實(shí)例變量VS屬性變量 成員變量是定義在{}號(hào)中的變量,如果變量的數(shù)據(jù)類型是一個(gè)類則稱這個(gè)變量為實(shí)例變量,因?yàn)?..
第四節(jié)課 類的原理分析(上) isa分析到元類 我們通過 指令可以驗(yàn)證下,看到打印出的地址與我們拿到的地址一模一樣。 接下來我們x/4gx 0x000000010292f48...
第三節(jié)課 OC對(duì)象原理(下) 全篇開始之前我們想一個(gè)問題,研究了這么久對(duì)象,究竟什么是對(duì)象呢?? 對(duì)象本質(zhì)以及拓展 Clang 探索對(duì)象的本質(zhì)前,我們先了解一個(gè)編譯器:cla...
第二節(jié)課 OC對(duì)象原理(中) 底層LLVM優(yōu)化 上篇文章我們說到,實(shí)際代碼查看的流程是 alloc->_objc_rootAlloc->callAlloc->_objc_ro...
第一節(jié)課 OC對(duì)象原理(上) 其實(shí)我們最開始學(xué)習(xí)iOS都應(yīng)該是從創(chuàng)建對(duì)象開始的吧?還記得當(dāng)初教我的老師開玩笑的說到,以后沒對(duì)象就自己創(chuàng)建一個(gè),要多少有多少~雖然我們一直在使用...
第九節(jié)課:閉包(二) 閉包補(bǔ)充 上節(jié)課我們看了捕獲一個(gè)變量的內(nèi)存結(jié)構(gòu),如果捕獲的是兩個(gè)變量的值,當(dāng)前內(nèi)存結(jié)構(gòu)是什么玩意? 查看其IR代碼 返回值仍然是void* ,swift...
第八節(jié)課:閉包(一) 1.什么是閉包? 閉包是一個(gè)捕獲了上下文常量或者是變量的函數(shù)。 上面的函數(shù)是一個(gè)全局函數(shù),也是一種特殊的閉包,只不過當(dāng)前的全局函數(shù)并不捕獲值。 2.下面...