Xamarin.iOS CocoaPods基本使用

Posted Xamarin开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin.iOS CocoaPods基本使用相关的知识,希望对你有一定的参考价值。

之前我给大家分享过两篇关于使用OC源生类库的介绍,但是那些方法还得自己去新建一个静态库然后进行将类库转化为C#支持的属性和方法,依然很复杂,在OC中我们知道有CocoaPods去帮助OC程序员们自动去导入第三方的框架,方便使用而且对于版本更新的问题也很好处理,在Xamarin中也为我们提供了相应的简单方法,Xamarin同样支持我们使用CocoaPods去导入第三方库,那么我们就看看CocoaPods在Xamarin中是如何使用的。

本文目录结构
1.CocoaPods简介
2.CocoaPods环境安装和配置
3.CocoaPods的使用
4.建立绑定类库时候的问题处理

CocoaPods简介

OC中的CocoaPods
CocoaPods是一个负责管理ios项目中第三方开源库的工具。如果你熟悉OC的话,对于CocoaPods应该不算陌生了,在使用Xcode开发的时候我们通常将导入第三方开源库这个工作交由CocoaPods来自动处理。我们不需要再去像手动导入第三方库一样去设置某些编译参数和导入必须的框架。在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行 pod install命令。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
Xamarin中的CocoaPods
在Xamarin中Objective Sharpie3.0版中出现了新功能支持绑定CocoaPods,甚至还有一个终端命令(sharpie pod)来提供下载,配置和构建CocoaPods非常简单。Xamarin其实跟OC中使用CocoaPods的方式基本相同,只是采用了一个类库转化工具去执行这个过程,其本质和内部原理都和OC中一样。只是在使用上不像OC中直接在程序中就能引用第三方库,Xamarin在使用CocoaPods导入第三方库的时候还是需要通过sharpie pod命令生成两个.cs文件去转换相应的方法和属性。

CocoaPods环境安装和配置
1、升级Ruby环境

在安装CocoaPods之前,首先要在本地安装好Ruby环境,但是Mac中一般自带Ruby,所以我们只需要去更新Ruby即可。

终端输入 :$ gem update --system

如果你此时遇到错误

You don't have write permissions for the Liabrary/Ruby/Gems/2.0.0 directory

一般因为你没有权限去执行,执行将上文命令改为这个即可。

终端输入 :$ sudo gem update --system

如果出现以下提示,代表你已经安装最新Ruby,无需更新

Latest version currently installed. Aborting.

2、更换Ruby镜像

当我们使用CocoaPods自动添加第三方开源库的时候,我们通过输入命令系统会自动下载,此时需要使用到Ruby,但是系统内置的Ruby镜像下载非常缓慢,我们首先移除现有的Ruby镜像

终端输入 :$ sudo gem sources --remove https://rubygems.org/

然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了,无法使用)

终端输入 :$ sudo gem source -a https://gems.ruby-china.org/

替换后查看当前镜像

终端输入 :$ sudo gem sources -l

如果此时只显示这一个镜像即成功,否则删除重新设置

https://gems.ruby-china.org/

3、安装CocoaPods

在终端中输入以下命令安装CocoaPods

终端输入 :$ sudo gem install cocoapods

如果出现了以下的错误提示


说明你没有权限,修改命令为

终端输入 :$ sudo gem install -n /usr/local/bin cocoapods

等待安装、成功后会有以下提示


到这之后再执行(PS:这个过程是漫长的,要有耐心)

终端输入 :$ pod setup

等待漫长的安装过程后,在你的Mac中就配置好了CocoaPods环境。

CocoaPods的使用

首先我们使用CocoaPods导入AFNetworking框架为例,在终端中输入命令

终端输入 :$ sharpie pod init ios AFNetworking

如果出现以下提示,即代表已经初始化AFNetworking类库完成
** Setting up CocoaPods master repo ...   (this may take a while the first time) ** Searching for requested CocoaPods ... ** Working directory: **   - Writing Podfile ... **   - Installing CocoaPods ... **     (running "pod install --no-integrate --no-repo-update") Analyzing dependencies Downloading dependencies Installing AFNetworking (2.6.0) Generating Pods project Sending stats **

以上是关于Xamarin.iOS CocoaPods基本使用的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.ios 基本控件

使用 xamarin.ios c# 以编程方式添加嵌套的堆栈视图

Xamarin IOS绑定微信SDK

Xamarin.IOS(使用 Rider):每次加载 XCode 或运行模拟器时,创建的图像集都会消失

Xamarin iOS 自定义视图

如何让 UIView / Menu 滑入和滑出? (使用 C# 而不是 Swift 的 Xamarin IOS)