xCode里面的蘋果開發者幫助離線文檔

(寫在前面:不要轉載,不要轉載,不要轉載...因為我不會寫)


太久不寫代碼了,手,實在是癢!

其實呢,不寫代碼也行...可尼瑪別讓我一直寫文檔!

所以!必須要看看書才能隔靴搔癢!

有個iPad,怎么能不好好利用呢。那就用iPad看看DocSets吧。

現在貌似在app store上的DocSets工具沒有免費的吧,反正我好久之前想找一個免費的DocSets閱讀軟件,但是都是收費的。

所以就折騰了一下,看看這個DocSets文件到底是個什么鬼玩意兒。

哎...老毛病又犯了...看到一點感興趣的東西就被吸引過去了。

1.DocSets是什么.


墻的后面可以看下官網的解釋:Dash官網上的DocSet規范

DocSets 顯示內容之后,可以看到,三個玩意兒。


1.info.plist

主要包含一些當前這個DocSets的基本信息。

蘋果的xCode離線文檔,很明顯要比常規的DocSets的info要多很多。大家xCode打開看一下大概也知道是個什么東東。

2.version.plist

和Info.plist差不多,略過

3.Resources文件夾


這里才是重點。

docSet.dsidx這里包含了內容的索引。

先看看官方的DocSet的dsidx文件的內部。


這樣的。

就一數據庫,夠簡單了吧。

name字段就是顯示在Dash中的標題,type字段用于用于表明這一項的類型,而path字段就是對應的html文件路徑。

但是,其實,不然...

蘋果的東西哪里能讓你們辣么簡單的就看透,要不然還怎么做大哥大。

其實,蘋果的離線文檔的dsidx里面是這樣的:


喏...

這里的索引很給力呀,慢慢看關系吧。

這里研究里面索引的關系,咱說說怎么讀里面的內容。

在MacOS里面,可以建立sqlite3對象,用sqlite3_open_v2來獲取這個數據庫。接著可以用sqlite3_prepare_v2來之星SQL語句讀取里面的表數據。

在iOS里面呢,可以使用core data來讀取,怎么讀取呢...這里有點小梗。這得說到另外一個文件:docSet.mom

用mom文件作NSManagedObjectModel對象來初始化一個NSPersistentStoreCoordinator對象,然后用NSPersistentStoreCoordinator對象調用addPersistentStoreWithType來讀取數據。

不過呢,還沒完...這里要自己做Root ,Tree,Node,才能做樹形列表。

并且!還沒完!

iOS8的DocSets 和 iOS的DocSets也不一樣了!媽蛋的!

先工作了,iOS9的DocSets有什么不一樣,我還沒弄清楚。水平有限,暫時先這樣了。

PS:TextWrangler竟然可以打開DocSets看里面的文件呢.有點小驚訝.請原諒我的無知。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容