Cocoapods之:Podfile

Cocoapods之:Podfile,第1张

platform :ios, '9.0'

project 'ProjectName.project'

source " https://github.com/CocoaPods/Specs.git "

source " https://gitlab.com/CocoaPods/Specs.git "

def ThirdPod

pod 'AFNetworking' //使用最新版本

pod 'AFNetworking', '~>0'//使用最新版本

pod 'AFNetworking', '~>0.1.2' //使用大于等于0.1.2但小于0.2的版本

pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本

pod 'AFNetworking', '2.0' //只使用2.0版本

pod 'AFNetworking', '= 2.0' //只使用2.0版本

pod 'AFNetworking', '>2.0' //使用高于2.0的版本

pod 'AFNetworking', '>= 2.0'//使用大于或等于2.0的版本

pod 'AFNetworking', '<2.0' //使用小于2.0的版本

pod 'AFNetworking', '<= 2.0'//使用小于或等于2.0的版本

sysource = " git@gitlab.xxxxx.com :ios-public/YYPrivateSpecs.git"

pod 'lottie-ios', '2.5.3', :source =>sysource

pod 'AFNetworking', :path =>'third-libs/AFNetworking/AFNetworking.podspec'

pod 'AFNetworking', :path =>'../AFNetworking'

pod 'AFNetworking', :git =>' https://gitee.com/whp/AFNetworking.git' , :tag =>'0.49'

pod 'AFNetworking', :git =>' https://gitee.com/whp/AFNetworking.git' , :branch =>'dev'

end

def BasePod

sysource = " git@gitlab.xxx.com :ios-public/XXPrivateSpecs.git"

pod 'HTTPNetwork', '1.2.2'

pod 'YYBasicKit', :git =>' git@gitlab-pri.uu.xxxx.com :ios-public/xxx-base/sybasickit.git' , :tag =>'1.1.0.73'

pod 'YYAthena', :git =>' git@gitlab-pri.sy.soyoung.com :soyoungios-public/soyoung-base/syathena.git' , :branch =>'dev_8.17.1_whp'

pod 'OOMDetector', '1.3.3', :configurations =>['Debug']

pod 'YYLeaksFinder', '1.0.3', :configurations =>['Debug', 'Release_eye']

pod 'YYAppUIKit', :path =>'../YYAppUIKit/YYAppUIKit.podspec'

pod 'YYGeneralKit', :path =>'../YYGeneralKit/YYGeneralKit.podspec'

pod 'YYAppKit', :podspec =>' http://gitlab.yy.com/ios-public/sykit/YYAppKit/raw/master/YYAppKit.podspec'

pod 'YYAppKit', :git =>' git@gitlab.yy.com :ios-public/sykit/YYAppKit.git', :commit =>'d057a15f17dfd4b459465e4b882129625c5cdadd'

end

target 'ProjectName' do

inhibit_all_warnings!

ThirdPod

BasePod

end

target 'ProjectName-dev' do

inhibit_all_warnings!

ThirdPod

BasePod

end

创建自己项目的Podspec描述文件

下面我会通过一个名为HUPhotoBrowser的项目来讲解一下整个过程。

项目发布到github后,需要打上tag。之后我们在工程根目录中初始化一个Podspec文件:

pod spec create HUPhotoBrowser

该命令将在本目录产生一个名为HUPhotoBrowser.podspec文件。用编辑器打开该文件,里面已经有非常丰富的说明文档。下面介绍如何声明第三方库的代码目录和资源目录,还有该第三方库所依赖ios核心框架和第三方库。这是我的podspec文件:

编辑好podspec文件后就可以将该podspec文件保存到本机的~/.cocoapods/repos/master/Specs目录中仅供自己使用,也可以将其提交到CocoaPods/Specs代码库中。下面我们先将其保存到本机中:

下面可以看一下是否可以通过搜索找到该库:

同样在需要依赖于HUPhotoBrowser这个库的项目,可以将下列添加到项目的Podfile文件中

pod 'HUPhotoBrowser', '~0.0.2'

保存文件,并用pod install安装HUPhotoBrowser库。

通过以上步骤创建Pod库还只能供自己使用,下面会继续讲解如何将其提交到CocoaPods/Specs代码库中,让其他人也可以通过pod install安装我们的开源库。

CocoaPods Trunk发布自己的Pods

在cocoapods使用了trunk之后,CocoaPods 需要0.33以上版本,用 pod --version查看版本,如果版本低,需要更新。

注册Trunk

$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'

大家在注册时需要替换成自己的邮箱和用户名,一切顺利的话就会受到一份,点击中的链接后验证一下:

pod trunk me

至此我们整个制作自己的开源库的过程就完成了,以后有新版本只需要修改工程根目录下的podspec文件就行了,然后重新执行pod trunk push命令。

在终端输入主要命令 sudo gem install -n /usr/local/bin cocoapods 进行安装。

参考: CocoaPods安装方法

(1)在Xcode项目中生成Cocoapods配置文件

在终端定位到项目目录,输入 pod init 命令后就会在项目目录下生成cocoapods的配置文件 Podfile 实现集成工作。如图所示:

(1)将所需库添加至配置文件Podfle

备注 :SWRevealViewController是用O-C写的,故在swift项目中需进行桥接

(1)在主工程下新建一个Objective-C的桥接头文件(如命名为h.m)后会自动出现一个Ofo-demo-Bridging-Header.h文件,此时可把h.m已无用可删除。

(1)侧边栏组件: SWRevealViewController

(2)其它侧边栏组件:一般OC的比较稳定一点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11391022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存