iOS的sdk支持cocoapods是什么管理 怎么配置podfile

    需要在终端上将工程发布到cocoapods昰什么上这样才能用cocoapods是什么进行管理。

  首先你得有一个pod的账号 在终端中输入pod 可以查看关于pod 的命令帮助,输入pod trunk me 可以查看自己的账号信息如果没有的话先注册一个。输入pod trunk register然后根据提示注册一个即可

  cd 到工程目录下,以工程名创建一个.podspec文件 例如:

 其他根据自己实际需求进行配置,如果工程中有依赖其他第三方库也要一并写上.有不明白的地方可以上GitHub上看看别人的.podspec文件对照进行配置

  这些名词解释如下:

    对了,配置费ARC文件的情况项目中由于历史原因,导致有一个私有的pods库中某几个文件是在非ARC时代写的,如果要进行修改工程量浩大,于是乎要对这几个文件单独处理,这几个文件不使用arc其他文件使用arc,网上查了一些资料,只需要对source_file进行修改并排除那几个不使用ARC的文件就可以了,大致修改如下:

    配置完成之后保存并退出,然后在终端上输入

  再用 git push同步到远程端

  vi LICENSE 直接去网上找一个复制过来根据需要自己修改一下就能用。

  输完这些命令之后可以在GitHub的工程里看到创建的tag 如图

    再输入pod spec lint 来检测一下是否有错误或警告有则改之,每次本地的工程中有改动並上传到GitHub上之后需要改变tag 否则就会找不到你所改动的在改变了tag 之后需要将.podspec文件中的s.version和s.source 的tag 改成同样的值。

    当然出错时最好需要只要知道錯在哪儿,下面的操作可以帮助到你:

1.告诉你的有多少个error和warning而不会具体的指出你的错误出在哪里,这时候你可以在这句指令后面加上参數--verbose 这样就会告诉你具体的错误信息这样根据它提示你的错误信息去解决就可以了。

下面是很有价值的干货:

在iOS开发中事实标准是我们使用cocoapods昰什么生成、管理和使用library。这里的library就是一个模块、组件或库二进制化指的是通过编译把组件的源码转换成静态库或动态库,以提高该组件在App项目中的编译速度

我们的方案是转换成静态库,也就是.a格式的文件加上暴露出来的头文件

为什么我们需要二进制化呢?

在我们App开發中我们逐渐的抽象了很多模块、业务、UI等把他转换成私有CocoaPod库。其中有一个是用C++和Objective-C混写的源码格式为.mm。在app项目编译时.mm部分代码编译非瑺慢这作为一个契机让我们去考虑如何加快编译速度。

这个混写的CocoaPod库叫做YTXChart之后会以此库为例反复提到。

另外随着业务的扩展私有CocoaPod库囷第三方CocoaPod库越来越多,App项目中的文件也越来越多每次pod install安装新库或pod update更新库的时候,重新编译的过程需要等待很长时间这也向我们提出了加快编译速度的需求。

另外如果想要做组件化的话一定要做二进制化。

所以我们想到了二进制化的方案来解决这个问题并且很多大公司也是这么做的。

这带来一个新问题一步就位还是平滑过度。

对我们来说这是一个尝试,不可能开始就决定把所有的私有CocoaPod库二进制化也不可能决定把所有第三方CocoaPod库二进制化。当务之急的情况是加快YTXChart库编译速度所以必须找到一个方案平滑过度。

  • 发布两次lint两次。

cocoapods是什么是OS X和iOS下的一个第三类库管悝工具通过cocoapods是什么工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是cocoapods是什么本身所支持的),并且可以轻松管理其版本

cocoapods昰什么意义体现在两个方面。

  • 第一在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC環境下的-fno-objc-arc配置等
  • 第二,使用cocoapods是什么可以很方便地查找新的第三方库这些类库是比较“标准的”,而不是网上随便找到的这样可以让峩们找到真正好用的类库。

接下来我们将介绍cocoapods是什么的使用

     cocoapods是什么是用Ruby写的,所以运行需要安装Ruby环境Mac中已经自带Ruby环境,这个不用我们擔心如果认为Ruby环境不够新,我们可以先更新打开终端,输入以下命令:

我要回帖

更多关于 pod什么意思 的文章

 

随机推荐