澳门威利斯人_威利斯人娱乐「手机版」

来自 办公软件 2020-05-08 17:49 的文章
当前位置: 澳门威利斯人 > 办公软件 > 正文

cocoapods私有库的创建和更新,Cocoapods管理本地代

看看有爱人让自己写一个关于集团项目模块化管理,使用cocoapods管理各类模块的作用.

概述

貌似的话,大家只要要在工程里面增加其他工程的代码,都以copy一份过来。手动copy相比费心,且便于失误,若是是.a库,还需配置路线等。蒙受七个工程都亟需的时候,特别浪费劳重力。上边介绍怎样用cocoapods来保管地方代码,使用方法跟第三方pod的好像。

      在支付进程中,项目会积存过多足以复用的代码包,某些大家不想开源,又想像开源库雷同在CocoaPods 中管理、使用它们,那么通过个人货仓来管理就很必要。这种艺术也足以用来模块化大家的档期的顺序。

从而在这里间就将私有库的创造和换代在这里差相当少说一下.

实践

1、这里大家新建二个工程ManageLocalCode,如下图。当然你也能够使用你已经存在的工程。

威尼斯国际线上娱乐 11@2x.png

2、新建类Test。增加test方法。那样大家揭示了一个test接口。

威尼斯国际线上娱乐 22@2x.png

3、在工程根目录下,新建podspec文件ManageLocalCode.podspec。能够经过命令pod spec create ManageLocalCode,那样生成的spec文件相继条约都有,相比好些个,能够选自身所急需的填充。最后精短如下。

Pod::Spec.new do |s| s.name = "ManageLocalCode" s.version = "0.0.1" s.summary = "ManageLocalCode desc" s.homepage = "https://github.com/silan-liu" s.license = { type: 'MIT', file: 'LICENSE' } s.author = { "summer-liu" => "413769707@qq.com" } s.platform = :ios, "8.0" s.source = { :git => "~/Documents/code/mycode/ManageLocalCode" } s.source_files = "ManageLocalCode/Test.{h,m}" s.requires_arc = trueend

s.version是pod版本号。s.source是工程地点。能够是本土路线,svn,zip包,或许是git上的代码。只是写法不类似。

// 本地文件s.source = { :git => '~/Desktop/ChartboostSDK' } // gits.source = { :git => 'https://github.com/silan-liu/RGB.git' } // zip s.source = {:http=> 'http://xxx.zip', :tag => "1.0.0" }// svns.source = {:svn=> 'http://path', :tag => "1.0.0" }

s.source_files是暴光的源码。s.requires_arc表示arc工程。s.dependency表示所依据的库。 如s.dependency "JSONKit", "~> 1.4"。s.preserve_paths表示需求保留的公文路线。s.vendored_libraries表示对外提供的.a。在打成.a库时有用。

下一场输入指令pod lib lint进行表达,验证通过后开展下一步。

4、其余新建一个工程Test德姆o,来引进ManageLocalCode的代码。并新建podfile。

target 'TestDemo' dopod 'ManageLocalCode', :path => '~/Documents/code/mycode/ManageLocalCode'// 或者这样写//pod 'ManageLocalCode', :podspec => '~/Documents/code/mycode/ManageLocalCode/ManageLocalCode.podspec'end

path是podspec的地面路线

pod install。pod成功之后,在Development pods能够看看我们的代码。

威尼斯国际线上娱乐 33@2x.png

5、增多测量试验代码。

威尼斯国际线上娱乐 44@2x.png

查看console输出"aaa"。

威尼斯国际线上娱乐 5

首先再本地创制要求被引进的工程:

制造私有pod

假若有同事要求使用你的代码,那么地点代码的方法就不太对劲儿了。能够将代码托管到git,创立私有podspec,其余人只要求用git上的podspec就足以了。

1、将本地代码托管到git。具体步骤略过。能够参谋代码托管到git

2、创建tag。

git tag -m "tag" "0.0.1"git push --tags

3、在git下面创设spec repo。小编成立之处是.

4、pod repo add MySpec repo clone到本地。在~/.cocoapods/repos会看到MySpec。

威尼斯国际线上娱乐 65@2x.png

5、将事前我们创设的ManageLocalCode.spec的s.source改成git地址。

s.source = { :git => "https://github.com/silan-liu/ManageLocalCode.git", :tag => s.version }

cd到ManageLocalCode.podspec的目录pod repo push MySpec ManageLocalCode.podspec,将podspec提交到MySpec。同期大家的git spec上边也可能有创新。

马到成功验证如下:

威尼斯国际线上娱乐 76@2x.png

6、在测量检验工程中,podfile改进如下:

source "" 那句必得。告知到何地去找podspec文件。

source "http://github.com/silan-liu/Spec.git"platform :ios, '8.0'target 'TestDemo' dopod 'ManageLocalCode', '0.0.1'end

再度pod install。pod成功后,可见到在Pods上面,并不是在Developments Pods文件夹下。Run。成功输出"aaa"。

威尼斯国际线上娱乐 87@2x.png

实践:

比如说把项目中 CustomController 的有的共用组件收收取来实行 Pods 格局的田间处理

有三种艺术:第一种是透过地面包车型客车措施管理;

其次种是将代码托管到 git,成立私有 podspec 的方法;

上边会分离介绍具体的进行进程。

威尼斯国际线上娱乐 9工程目录如下

校订版本号

威尼斯国际线上娱乐,1、对于本地代码,将podspec的s.version改进就可以。2、对于git上的个人pod,一样必要将podspec的s.version修正,然后push,pod repo push MySpec ManageLocalCode.podspec。最后打对应的tag。

参照:使用Cocoapods创设私有podspecCocoaPods进级:当地包处理

==========

续:前面会写cocoapods管理.a,.framwork库《cocoapods模块化管理工科程》

一、本地形式:

1.新建贰个工程 ManageLocalCode,新建 Test 类可能直接拖入已经封装好的共用组件,这么些 工程特意寄放公共组件。

注意:文件路线必定要填写正确

(1)即使只有测量试验,在工程里创制新类 Test,其工事地点在构造文件中填入为:

s.source_files  = “ManageLocalCode/Test.{h,m}”

威尼斯国际线上娱乐 10

(2)假使使用 subspec 分模块功效,根据分裂的模块对文件目录举办规整,举例大家把项目中的 CustomController 的片段国有组件复制进来,其工事地方在配置文件中填入为:

s.source_files = ‘ManageLocalCode/CustomController/Classes/**/*'

( 大家应用这种分模块的办法,关于source_files是何等前面有介绍)

威尼斯国际线上娱乐 11

2.在工程根目录下,新建 podspec 文件 ManageLocalCode.podspec。

能够经过命令 pod spec create ManageLocalCode,那样生成的 spec 文件相继条约都有,

正如大多,依照供给填写,主要的代码具体介绍如下:

威尼斯国际线上娱乐 12

3.输入指令 pod lib lint 进行求证,验证通过后开展下一步。验证不经过会有提示,依照提醒校勘ManageLocalCode.podspec 配置文件;Xcode 内的警戒可以经过命令 pod lib lint --allow-warnings 忽略。

4.别的新建三个工程 SouFunDemo,来引进 ManageLocalCode 的代码。并透过命令 pod init新建 podfile 文件,path 是 podspec 之处路线。配置如下:

威尼斯国际线上娱乐 13

5. pod install。pod 成功之后,在 Development pods 能够看看大家的代码。查看 console 输出 "0"。

威尼斯国际线上娱乐 14


在此个工程中新建五个实体文件夹一个Classes来寄存在全部的.h和.m文件,和三个Images文件夹来存放图片财富.

二、成立私有pod,代码用git管理的格局:

假使某些项目中有同事要求动用你的代码,那么地点代码的主意就不太和谐了。能够将代码托管到git,创建私有podspec,其余人只需求用git上的podspec就能够了。

1.将地面代码托管到git。要求五个 git 客栈:CustomController 和 SouFunSpec;多个松手垦代码,贰个特意放 podspec 文件。因为 github 的个人货仓是收取薪金的,这里用的是 oschina 的 git 管理,假若企行业内部部采取以来,必要在温馨的服务器搭建 git。

盘算干活:

命令行->

pod repo add SouFunSpecs )

威尼斯国际线上娱乐 15

2.配置 CustomController.podspec

(1)clone 项目到地头,提交忽视文件;

(2)工程根目录下,新建.podspec文件

pod spec create CustomController

(3)配置 CustomController.podspec ,参考上边本地方式,这里要求退换的:

source 路径为  s.source  = { :git => " CustomController.git", :tag => "0.0.1" }

source_files 路线为代码的相对路线

s.source_files="CustomController/CustomController/XXTool.{h,m}"

威尼斯国际线上娱乐 16

(4)本地验证.podspec文件 pod lib lint

本地验证必得经过,依据提醒校勘 error,Xcode警示能够用

pod lib lint --allow-warnings 忽略掉。

(5)将布置好的CustomController.podspec 文件 push 到 git 服务器后打 tag,tag值和.podspec配置文件中保持一致

(6)验证远程库 pod spec lint;输出 CustomController.podspec passed validation.         为打响

威尼斯国际线上娱乐 17

3.私用库 XXSpec 中增多工具库 CustomController

pod repo push XXSpec CustomController.podspec

此刻查阅 XXSpec,工具库的配备文件已经被 push 过来

威尼斯国际线上娱乐 18

通过~/.cocoapods/ 前往文件夹,能够观察 cocoaPods 中设有了小编们的私有库

注:master 文件之中是任何大家能够Pod的第三方开源库,初次安装cocoaPods时,就是从source '' 中 clone 到大家本地的。

威尼斯国际线上娱乐 19

4.选择大家的私有库

(1)新建多少个 demo 程序

pod search CustomController;搜索到了大家的私有库

威尼斯国际线上娱乐 20

(2)Podfile 文件配置注意早晚要填写 source,不然会引致无法安装

威尼斯国际线上娱乐 21

(3)pod install 安装到位后

开垦大家的 TestPodFramework德姆o.xcworkspace,能够看来大家的私有库

现已存在Pods中,导入头文件,进行测量检验。

威尼斯国际线上娱乐 22

总计:通过地点的不二诀要,大家得以把一些模块独立出来,创立我们温馨的私有库,方便项目管理,在后来的新品类中也能够通过 Pods 的法子神速集成。

品种的效劳很简短,就归纳load二个view.

威尼斯国际线上娱乐 23纠正代码

效果与利益图如下

威尼斯国际线上娱乐 24成效如下

接下去正是创立git远程仓库前边文章有介绍,将来一笔带过.效果如下

威尼斯国际线上娱乐 25git远程旅社

然后就是新建podspec文件,和后面包车型大巴文章共有库相同.

威尼斯国际线上娱乐 26spec文件

其一文件看起来很不佳受,我们能够将其无用的全体删掉然后在张开退换

在改善spec文件时确定要小心source的tag值一定和version保持一致,然后source_files的层级一定要精确.然后证实一下是或不是经过了

执行pod lib lint 命令

警报是一定会某个,不过不会影响总体私有库的创立.

能够应用命令pod --allow-warning来忽略它,也足以利用命令来查看详细新闻

pod lib lint --verbose

好的那么spec填写完后到该就是如此了

本文由澳门威利斯人发布于办公软件,转载请注明出处:cocoapods私有库的创建和更新,Cocoapods管理本地代

关键词: 澳门威利斯人 代码 cocoapods iOS 自动化专题