最近在做企業級程序,需要搞設備的udid等信息,但是ios7把udid私有化了,不公開使用。所以研究了一下ios的私有api。
調查了一下文章,發現這方面的文章不多,國內更是不全,高手們都懶得寫基礎教程哈,我就在此說一下如何調用ios的私有api吧。 首先要使用class-dump 和dumpFrameworks.pl 工具 將ios的framework導出來。 以下是工具的下載地址: class-dump下載地址http://www.codethecode.com/projects/class-dump/ DumpFrameworks.pl原來的下載地址不能用了,我在github上的別人的越獄程序裡面找到的。 將下載好的 class-dump 放入usr/local/bin 下. 如果 ‘/usr/local/bin’ 不知道在哪裡,可以在terminal 下輸入 ‘open -a Finder /usr/local/bin’ 以便打開目錄. 這個bin文件夾 就是所有命令行的可執行文件所在地,並不一定是這個目錄,要看各自的系統。 因為dumpFrameworks.pl中對ios庫的版本路徑可能不一定正確了,所以要自己手動改正。 用terminal直接執行dumpFrameworks.pl就可以了。 會將所有到處的頭文件,放到user/Headers文件夾下。 將想用的頭文件,組成xxx.framework/Headers的樣式。導入工程。 但是bulidsetting 設置framework的search path 時要設置真實的私有庫路徑,因為我們要用它的可執行文件,只有頭文件是不行的。 例如:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/PrivateFrameworks 這樣就可以調用ios的私有庫了 成功用他的私有庫 調取了 機器的udid。