2021.4.23关于CocoaPods安装和使用
第1部分 CocoaPods 的安装
CocoaPods 是iOS开发必不可少的一个第三方框架的管理工具,和Java的Maven类似,maven也是管理各种框架和版本控制的。maven更灵活,使得项目与项目之间可以相互依赖。
常用的CocoaPods 的第三方框架有 SDWebImage。,AFNetwork ,Alafiremore, kinderfinder,FMDB等,
1.检查更新ruby环境
sudo gem update --system
2 。 移除原有的镜像,添加新的镜像
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
3.查看镜像是否添加成功
gem sources -l
lujun@lujundeMac ~ % gem sources -l
*** CURRENT SOURCES ***
https://gems.ruby-china.com/
lujun@lujundeMac ~ %
出现上述的就说明成功了,注意淘宝镜像不可用,不要使用淘宝镜像;
4.下面安装cocoaPods
sudo gem install -n /usr/local/bin cocoapods
根据网速不同,安装进度可能不同,大概2-3分钟左右
33 gems installed 出现这样说明安装成功!
- 安装本地库 命令
pod setup
出现Setup completed 说明安装成功!恭喜cocoaPods 安装成功
重点来啦!
最新版的MacOS Big Sur 系统命令行执行pod setup命令直接结束啦;大概只需要1s,跟网上其他教程不太一样,并非漫长的等待,此时我们需要清华源镜像,进行克隆
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
如果失败,多试几次。
第2部分,我们使用cocoaPods来给IOS项目安装第三方框架。
创建oc项目 test1 到桌面,然后直接点run, 确保项目在非cocoaPods 下也能跑起来。
先用终端命令 cd ,切换到项目带有 test1.xcodeproj 的文件夹下面,输入
pod init
让pod自动创建Podfile
使用 pod serach 命令 搜索 第三方框架,
例如
pod search AFNetworking
大概等待3-5分钟,
会出现
复制搜索出来的格式和版本,注意一定要复制全。通过vi 命令 编辑 Podfile
复制内容是
pod 'AFNetworking', '~> 4.0.1'
不要复制空格进去
版本带进去
:wq! 是保存退出, :q! 是不保存直接退出 ,i是插入新内容,esc是退出编辑
输入安装命令
pod install --verbose --no-repo-update
如果失败,多试几次。
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
看到如上就说明安装OK
中途项目添加 其他框架,使用
pod update --verbose --no-repo-update
双击 test1.xcworkspace 这个文件
info.plist 加入ATS 代码,测试一段get 请求
- (IBAction)click:(id)sender {
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSURL *URL = [NSURL URLWithString:@"http://httpbin.org/get"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"%@ %@", response, responseObject);
}
}];
[dataTask resume];
}
控制台打印
headers = {
Accept = "*/*";
"Accept-Encoding" = "gzip, deflate";
"Accept-Language" = "en-us";
Host = "httpbin.org";
"User-Agent" = "test1/1 CFNetwork/1220.1 Darwin/20.2.0";
"X-Amzn-Trace-Id" = "Root=1-60822c1c-4fe359717040ad051840a514";
};
origin = "183.192.94.186";
url = "http://httpbin.org/get";
}
转载:https://blog.csdn.net/A1521315qwss/article/details/116041321