这是公司以前外包出去的项目,如今要作一些小的改动 不想再找外包了 ,就让我试试。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中会多出一个:
而后,你会感受世界变得美好了。。。
我要是早点发现这个“秘密”,可能就不会有前面的问题了。。。哎,成长的代价。。。
以上就是个人心路历程。。。