總結導入lottie-ios的艱難過程

今天準備試一下lottie這個牛牛的第三方,這個工具可以把從AE中導出的動畫的json文件解析成一個view供我們使用。lottie的地址是:https://github.com/airbnb/lottie-ios
首先,我是準備直接在項目中導入這個框架。本以為很簡單的,可是意外還是發生了。導入框架lottie-ios之后,編譯通不過,報了九個錯誤。我明明是按照說明做得,這是怎么回事呢?開始各種google,最終沒有找到原因。具體錯誤信息如下:
CADisplayLink.m文件編譯出錯9個。
例如: Unknown type name 'CVDisplayLinkRef'; did you mean 'CADisplayLink'?
在搜索的過程中遇到一位博主,寫了使用lottie的相關東西,無奈之下,試著在他的文章下面把我的問題提問了一下,沒想到,他竟然回復了,非常的驚喜。他的回復如下:
iTerryWang@睡醒的妞妞 我這邊也用你的方式集成了下,確實會報你說的錯,調查了下,是因為TARGET_OS_IPHONE 這種宏沒有生效。正常的情況,報錯那幾個文件是macOS平臺使用的。在編譯iOS平臺時,不應該被編譯。可以嘗試創建一個pch文件,把#import "TargetConditionals.h"這個加一下就可以正常編譯了。 不過還是推薦使用pods的方式集成。

我按照他的方法進行了實驗,真的編譯過了,很開心。在我開心的心情還沒有平靜的時候,一盆冷水又澆了個透心涼。
繼續集成lottie,使用推薦的方法:
LOTAnimationView animation = [LOTAnimationView animationNamed:@"loading"];
[self.view addSubview:animation];
[animation playWithCompletion:^(BOOL animationFinished) {
NSLog(@"動畫播放完成");
}];
然后編譯,崩潰啦!崩潰啦!崩潰啦!
崩潰信息如下:
運行,結果崩潰了,崩潰在LOTAnimationView的205行, resourceNotFoundException;這句話。控制臺給的崩潰信息是:
** Terminating app due to uncaught exception 'ResourceNotFoundException', reason: '(null)'
。好無奈。
放棄使用直接導入的方式了,改用推薦的pod吧。

打開終端,正常的方式建立Podfile文件,寫入
platform:ios,'8.0'
target 'TestLottie' do
pod 'lottie-ios','~>1.5.0'
end

一直pod失敗,提示連接失敗443。以為是終端沒有使用翻墻代理導致的,所以花費了兩三個小時的時間在做終端代理的配置。配置了代理之后,還是報錯。為了驗證到底是哪里出了問題,先導入AFNetWorking試試,一試發現成功了,現在可以排除網絡原因了,應該是lottie這個三方沒找對。
錯誤信息如下:

bogon:TestLottie aa$ pod install
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.1.0)
Installing lottie-ios (1.5.0)

[!] Error installing lottie-ios
[!] /usr/bin/git clone https://github.com/airbnb/lottie-ios.git /var/folders/yb/20c1c4sx0q91yqvzlr92n_p80000gp/T/d20170310-59137-kam3xz --template= --single-branch --depth 1 --branch 1.5.0

Cloning into '/var/folders/yb/20c1c4sx0q91yqvzlr92n_p80000gp/T/d20170310-59137-kam3xz'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

然后我想到先search一下看看能否找到lottie這個三方庫。

bogon:TestLottie aa$ pod search lottie-ios
[!] Unable to find a pod with name, author, summary, or description matching `lottie\-ios`

搜索不到這個三方庫。再搜一下AF試試吧。

bogon:TestLottie aa$ pod search AFNetWorking
[!] Unable to find a pod with name, author, summary, or description matching `AFNetWorking`

AF之前明明已經pod成功了,竟然也search不到,繼續查找原因。然后就找到了,說是本地庫的緩存有問題,在終端執行如下命令:

bogon:TestLottie aa$ rm ~/Library/Caches/CocoaPods/search_index.json

再次search,真的成功了!

bogon:TestLottie aa$ pod search AFNetworking
Creating search index for spec repo 'master'.. Done!

再次搜索search lottie,就真的找到了。

9ADF994F-D546-432D-AB09-5893EBD702A1.png

再次執行install

bogon:TestLottie aa$ pod install
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.1.0)
Installing lottie-ios (1.5.0)

[!] Error installing lottie-ios
[!] /usr/bin/git clone https://github.com/airbnb/lottie-ios.git /var/folders/yb/20c1c4sx0q91yqvzlr92n_p80000gp/T/d20170310-59225-l8vqf0 --template= --single-branch --depth 1 --branch 1.5.0

Cloning into '/var/folders/yb/20c1c4sx0q91yqvzlr92n_p80000gp/T/d20170310-59225-l8vqf0'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

結果,又失敗了。。。。。
仔細對比之后發現,這次的錯誤和上次的錯誤竟然是一樣的!!!看來還是應該查找

error: RPC failed; curl 18 transfer closed with outstanding read data remaining

這個錯誤。
尋找之后發現執行下面這個命令之后就好了:

bogon:TestLottie aa$ Git config --global http.postBuffer 524288000

再次執行install,

bogon:TestLottie aa$ pod install
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.1.0)
Installing lottie-ios 1.5.0 (was 1.0.4)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
bogon:TestLottie aa$ 
Paste_Image.png

終于成功啦!!!!

后來再次查找原來的導入lottie的工程中的崩潰,發現是我忘記導入loading文件啦,實在是汗顏。人在著急的狀態下真的是檢驗抗壓和應變能力,這種錯誤實在是。。。。。以后不管事情多著急,還是應該靜下心來才能事半功倍。繼續加油吧!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,666評論 25 708
  • 屬于我們的時代結束了。 以前我一直有舞臺后遺癥。每次謝幕后都久久不能恢復正常生活。越大的場合越嚴重。但是今天。 我...
    南山飲言閱讀 841評論 0 1
  • 6月12日 日記星球 分享天使 第203天 的確挺了不起的,從打算寫日記到今天,沒想到一晃就過去了2...
    分享天使閱讀 225評論 0 0
  • 周末傍晚,我正在廚房做晚飯,電話響起,是爸爸。我有點意外,因為一般家里有事情都是媽媽打過來,平時我們打電話也是打給...
    綠蘿吖閱讀 223評論 0 1
  • 這篇文章主要是一些基礎的知識:包括:GET請求、POST請求、同步請求、異步請求 1、請求的一般步驟 1.確定地址...
    大玲_閱讀 1,945評論 1 16