這是公司以前外包出去的項目,如今要作一些小的改動 不想再找外包了 ,就讓我試試。ios
我從git庫拉下了塵封已久的ios代碼。。。git
不扯犢子了,直接說問題,能夠歸成三個問題:github
1. unknown type name 'link' : link to non existing header file?xcode
2. 提示找不到 「UMMobClick/MobClick.h」app
3. Apple Mach-O Linker Errorui
ld: library not found for -lAFNetworkingspa
linker command failed with exit code 1 (use -v to see invocation)code
我主要遇到就是這三個問題,下面說說怎麼解決的:教程
第一個問題,通過多方百度發現它可能跟一個叫pod的東西有關係,而後又經過pod 發現了cocoapods,又經多方查證發現它倆是一回事兒。。。文檔
因而就安裝了cocoapods ,安裝方法網上不少 基本上開始都說要修改源,可是我改來改去不行 ,最後改回默認的 直接 :sudo gem install cocoapods 就哦了(固然後面還有一些步驟,按教程走就好了 挺順利的)。。。
pod install 以後,報錯少了很多,可是出現了問題二。。。
第二個問題,找不到 「UMMobClick/MobClick.h」。 通過對比發現我 pod install以後的代碼 比git庫裏的少了一個文件夾:
少了這個 UMengAnalytics ;
我開始的解決辦法是: 把git庫裏的搞下來放進去 或者 在Pods/UMengAnalytics/......下面也能夠找到這三個文件 按照原來的目錄結構建立文件夾放進去就好了。
後來在https://stackoverflow.com/questions/37571459/xcode-pods-unknown-type-name-link-link-to-non-existing-header-file 找到了一段神代碼:
echo "-------- Renaming original Podfile..." mv podfile podfile.temp echo "-------- Creating empty Podfile..." pod init echo "-------- Removing all pods..." pod install echo "-------- Deleting empty Podfile..." rm podfile echo "-------- Restoring original Podfile..." mv podfile.temp podfile echo "-------- Restoring all pods" pod install
大概就是把pods從新初始化了一下,結果「UMMobClick/MobClick.h」就回來了 我只想說:很神奇。。。
而後再 run 就只有一個報錯了,就是第三個。。。
第三個問題,困擾了我一天一晚上(其實昨天晚上睡的挺早的~~!)。。。
百度了很久都沒有搞定,後來找到了這個:
http://www.jianshu.com/p/72aec7e38ef0?from=groupmessage 我以爲這位大神講的很好,可是依然沒能解決個人問題。。。
無力的我決定參觀一下 AFNetworking 的官網 ,在github 找到了官方的Getting Started 文檔,我驚喜的發現官方也用的是cocoapods ,因而順着教程看到了這句:
From now on, be sure to always open the generated Xcode workspace (
.xcworkspace
) instead of the project file when building your project:$ open <YourProjectName>.xcworkspace
我英文很差,可是也大概看明白上面的說明了,爲了保險起見我百度了 「open」 命令(mac新手~~!)
因而我發現了一個驚天祕密:
使用cocoapods的項目要雙擊 myapp.xcworkspace 打開,而不是 myapp.xcodeproj
打開以後Xcode中會多出一個:
而後,你會感受世界變得美好了。。。
我要是早點發現這個「祕密」,可能就不會有前面的問題了。。。哎,成長的代價。。。
以上就是個人心路歷程。。。