假設(shè)現(xiàn)在已經(jīng)有 sdk1、sdk2的git倉(cāng)庫(kù)。目的是想把兩個(gè)倉(cāng)庫(kù)合并成一個(gè),并且保留提交記錄方便日后排查問題。下面是將sdk2合并到sdk1。sdk1保留各種服務(wù)端配置建議...
牛牛在農(nóng)場(chǎng)飼養(yǎng)了n只奶牛,依次編號(hào)為0到n-1, 牛牛的好朋友羊羊幫牛牛照看著農(nóng)場(chǎng).有一天羊羊看到農(nóng)場(chǎng)中逃走了k只奶牛,但是他只會(huì)告訴牛牛逃走的k只奶牛的編號(hào)之和能被n整除。...
這篇水文主要是昨晚無(wú)意看到網(wǎng)上有些關(guān)于這個(gè)問題,卻瞎寫的。后面還一群評(píng)論求帶飛。。。。。別誤人子弟好么 + (void)load 第一,先看蘋果爸爸的文檔https://de...
目前做的項(xiàng)目是用cocoapods管理依賴庫(kù)的,cocoapods的好處這里就不細(xì)說了。我們遇到的問題在于SDK層也是依賴cocoapods進(jìn)行管理的,而單單一個(gè)SDK動(dòng)不動(dòng)...
網(wǎng)上很多說明block實(shí)現(xiàn)的教程,都是用下面的命令來講objc的m文件轉(zhuǎn)換為cpp文件 但是會(huì)報(bào)錯(cuò) 正確的做法應(yīng)該是
有個(gè)朋友問我,微信在聊天窗口有輸入文字的時(shí)候,返回到聊天列表頁(yè),再次進(jìn)入這個(gè)帶草稿的聊天頁(yè)面,鍵盤是升起來的,且輸入框已經(jīng)在鍵盤上面(沒升起動(dòng)畫)。各位自己可以用微信試試。監(jiān)...
目前objc4最新的源碼是750.1版本,看網(wǎng)上也沒人寫了這個(gè)版本的編譯方法,所以這里記錄一下。編譯方法都大同小異,只是有些部分新版做了改動(dòng)。先去下載源碼,地址 https:...
有關(guān)fishhook的原理如果看過之前的MachO鏈接過程,那其實(shí)就應(yīng)該很簡(jiǎn)單了,他就是講懶加載符號(hào)表和非懶加載符號(hào)表的值改版了,使它指向我們自己的地址,然后又把原函數(shù)的真實(shí)...
之前說了通過stub_helper綁定真實(shí)函數(shù)地址,在調(diào)用stub_helper的時(shí)候傳入了一個(gè)參數(shù),如下圖。調(diào)用之前向w16寄存器壓入了32位的參數(shù),這個(gè)參數(shù)就在下面,它是...
這次說一下懶加載符號(hào)表的查找。先回憶起上次講的這張圖,這里去#0x100050228這個(gè)地址取值,然后跳轉(zhuǎn),第一次取到的值是會(huì)跳轉(zhuǎn)stub_helper的,第二次就已經(jīng)是NS...
對(duì)于存在于別的動(dòng)態(tài)庫(kù)的函數(shù),程序在運(yùn)行的時(shí)候需要通過動(dòng)態(tài)鏈接來獲取函數(shù)的調(diào)用地址。在iOS上是通過dyld來實(shí)現(xiàn)的。下面對(duì)這個(gè)原理做一下梳理。 以最令人熟悉的NSLog來做例...
昨天無(wú)聊看了下iOS的越獄工具發(fā)布到哪個(gè)版本了,驚奇的發(fā)現(xiàn)手上的測(cè)試機(jī)(11.3.1)還可以越獄。在這個(gè)越獄基本都被放棄的年代,不得不說是個(gè)驚喜。然后下載工具把手機(jī)越了。下面...
原理 將砸殼之后的ipa文件,利用我們自己的證書對(duì)齊進(jìn)行重簽名,然后替換掉原工程的app文件,借助Xcode的build功能,將修改后的app文件安裝進(jìn)終端。 一些指令 查看...
Framework注入 原理 通過XCode將我們創(chuàng)建的framework扔進(jìn)app包里面。然后通過工具修改程序的MachO文件,然它可以去加載我們的動(dòng)態(tài)庫(kù)。 步驟 使用之前...
intrinsics 這個(gè)是相機(jī)內(nèi)參矩陣
ARKit從入門到精通(7)-ARCamera介紹轉(zhuǎn)載請(qǐng)注明出處:http://www.itdecent.cn/p/dc1ca646c508 ARCamera是一個(gè)相機(jī),它是連接虛擬場(chǎng)景與現(xiàn)實(shí)場(chǎng)景之間的樞紐。在ARKit中,...