私有元件pod 新增支援斷點除錯的靜態庫
阿新 • • 發佈:2019-01-10
我們在給外部提供的sdk 通常使用靜態庫而不暴露內部程式碼
而我們自己在專案中測試的時候,都是將靜態庫的標頭檔案
連結到對應的靜態庫的.h檔案中
一般來講都是一個workspace 然後新增靜態庫的工程
新增.a庫路徑 新增標頭檔案路徑,再執行就可以將斷點
打到靜態庫的project 裡面去。
而在元件化的工程的pod庫中,怎麼把斷點也能打到對應的
project 裡面去呢。
方式就是將podspec 的路徑放到最外面,不放在最外面會讀不出來。
然後將你手動修改的標頭檔案路徑和.a庫的位置用spec 的語法寫出來
最後pod install 即可
這是最終生成的結果,
如果沒有進入斷點,說明.a庫 和pod裡面不是同一個,應該先執行一下靜態庫,
在執行一下工程。
這裡是配置靜態庫打出來的.a庫的位置, 你可以自己寫個路徑,我這裡沒做真機和
模擬器的合併,你可以自己做,
為什麼要改寫這個路徑,因為蘋果每次打出來的路徑都在緩衝路徑裡面的,你都讀不到,找個固定的位置,才能給別的工程使用。
pod 本地的這個專案即可
這裡是podspec 的語法寫法,注意最後三行
倒數第三行是把.h加進去,
最後兩行是把.a靜態庫加進去
但實際上只是把靜態庫專案中的檔案做了個引用,並沒真正重新拷貝一份
最後看一下專案中的podsepc 的位置,是在整個專案的前面的,
我試過寫在裡面,發現相對路徑都讀不到,所以要使用這個的時候,一定要把路徑寫在
最外面
到這裡整個專案就完成了。
這裡只是一個非常簡單的專案,如果你的靜態庫需要做元件化下的斷點除錯,
那這就是你要找到的答案。