前言:
自從進(jìn)入公司做游戲插件開發(fā), 到目前為止大約有兩個(gè)星期都在尋找如何注入第三方SDK的方法, 這里稍微提一下歷程: 剛開始以自己掌握的知識(shí), 僅是注入自己創(chuàng)建的SDK, 我就用同樣的方法, 將第三方SDK拖入工程, 鏈接, 拷貝到Frameworks目錄下, 一步一步操作, 使用 yololib 將庫(kù)注入到mach-O文件中, 替換target文件夾下app包里的二進(jìn)制文件, 運(yùn)行崩潰......
這里省略5萬字......
然后回到之前的操作步驟, 拷貝是否有漏勾選, 注入路徑是否正確... 好吧,沒有問題, 那就網(wǎng)上找答案, 搜索找到的很多都是注入自己工程創(chuàng)建的SDK, 千篇一律... 沒有作用; 于是在各大技術(shù)群請(qǐng)教, 還是無果, 經(jīng)歷了輾轉(zhuǎn)兩個(gè)星期之后我把慶哥的wiki再仔細(xì)看了幾遍, 琢磨嘗試(其實(shí)是自己沒細(xì)心查看到), 終于找到解決辦法, 于是嘗試, 成功了......
正言:
第一種方式:
1. 使用pod導(dǎo)入第三方SDK
如果你要導(dǎo)入的SDK還尚未集成到pod, 網(wǎng)上搜索, 有很多文章講述 通過cocoapods集成SDK
pod init
先創(chuàng)建podfile文件, 在文件中修改如下配置
pod install
執(zhí)行安裝
2. 導(dǎo)入頭文件
打開項(xiàng)目,新建一個(gè)頭文件或者直接在 *.xm文件中導(dǎo)入
3. 在hook代碼中寫入想要實(shí)現(xiàn)的代碼
在hook的某個(gè)方法里面實(shí)現(xiàn)代碼
在修改保證代碼正常編譯后勺爱,運(yùn)行谊路,到這里注入第三方SDK就已經(jīng)成功了
如果想將應(yīng)用打包成ipa包膊升,供別人下載, 可看篇外話
第二種方式:
1. 使用添加target方式導(dǎo)入
這種方式適用于文件夾或者未上傳到pod的sdk, 應(yīng)用起來很靈活將目標(biāo)文件夾或者sdk復(fù)制到此路徑下, 打開工程
添加成功之后, 在其他類導(dǎo)入就可以調(diào)用了
同樣運(yùn)行, 將app包壓縮成ipa就 可以給他人下載
篇外話
將項(xiàng)目打包成ipa包
- 運(yùn)行項(xiàng)目缀遍, 找到app包
右擊 show in finder, 將.app 包復(fù)制到桌面新建的Payload文件夾中
- 壓縮生成ipa包
zip -ry xxx.ipa Payload
使用命令壓縮成ipa包煮剧,放到蒲公英上就可以直接掃碼下載了
重點(diǎn)是你通過pod導(dǎo)入的SDK也在hook中起效了闻镶。甚脉。。
希望對(duì)大家有幫助