? ? ? 由于項(xiàng)目中要處理富文本,加載html字符串,所以就選擇了DTCoreText這個(gè)第三方庫。這個(gè)框架很坑爹啊,以往的第三方庫直接Download,拖入自己的項(xiàng)目中就能用,這個(gè)庫卻不行,下載下來缺少文件,運(yùn)行不了,只能按照官方提供的導(dǎo)入方式:點(diǎn)擊我。
? ? ? 從這個(gè)文檔可以看出,官方提供了三種安裝方式:
? ? ?1、使用cocoapods
? ? ?2、作為一個(gè)子項(xiàng)目(sub-project)
? ? ? 3、作為一個(gè)Framework
? ? ? 在這里我介紹下第三種安裝方式,即作為Framework來使用。
一 、下載源代碼
在終端使用以下命令將DTCoreText項(xiàng)目下載到自己的電腦上
git clone --recursive https://github.com/Cocoanetics/DTCoreText.git Externals/DTCoreText
二、編譯Framework
打開下載好的項(xiàng)目,確定這個(gè)項(xiàng)目能正常運(yùn)行,然后調(diào)為Release模式:

由于下載下來的項(xiàng)目開發(fā)環(huán)境是8.0,就是說你最終得到的framework僅支持8.0及以上的項(xiàng)目。由于我的項(xiàng)目最低支持7.0,所以要調(diào)下

選擇DTCoreText(iOS )這個(gè)選項(xiàng),分別選擇真機(jī)和模擬器進(jìn)行編譯,如圖:


完成后,Xcode中的File -> Project Settings,會(huì)出現(xiàn)這樣

點(diǎn)擊DerivedData后面的小箭頭,進(jìn)入到編譯后產(chǎn)生的文件夾中,即:

Release-iphoneos文件夾,和Release-iphonesimulator文件夾,分別是真機(jī)和模擬器編譯后對(duì)應(yīng)的文件,每個(gè)文件夾下有四個(gè)文件
三 、 合并Framework
? ? ?模擬器的framework只能用于模擬器,真機(jī)的framework只能用于真機(jī),所以我們要將兩者合并為一個(gè),使其能夠在模擬器和真機(jī)上同時(shí)使用。
? ? 將Release-iphoneos和Release-iphonesimulator文件夾拷貝到桌面上,分別合并DTCoreText.framework、DTFoundation.framework。打開終端,分別輸入后回車


如果操作成功,在你的桌面上會(huì)出現(xiàn)兩個(gè)這樣的文件:

然后把這兩個(gè)文件分別替換掉Release-iphoneos文件夾中DTCoreText.framework下的DTCoreText文件,和DTFoundation.framework下的DTFoundation文件。這時(shí)候,Release-iphoneos文件夾中的DTCoreText.framework和DTFoundation.framework正是我們所需要的framework。不容易啊,終于成功了,將這兩個(gè)framework拷貝到桌面上。

四 、將framework集成到自己的項(xiàng)目中
? ? ? 新建一個(gè)自己的工程,將這兩個(gè)framework拖入到工程中,導(dǎo)入頭文件#import,輸入測試代碼:

這時(shí)候你運(yùn)行,程序可能會(huì)崩潰:
dyld: Library not loaded: @rpath/DTCoreText.framework/DTCoreText
Referenced from: /Users/lemon4ex/Library/Developer/CoreSimulator/Devices/71B50DE8-D733-43C8-A99D-4DE1247C3516/data/Containers/Bundle/Application/4783EEC4-CEBD-4FD9-872A-9CF606472853/xfish.app/xfish
Reason: image not found
不要急,這時(shí)候你需要在Xcode中設(shè)置一下:

OK,再次運(yùn)行程序,大功告成!??!
Demo地址請(qǐng)至Github:點(diǎn)擊我