为有牺牲多壮志,敢教日月换新天。

[CocoaPods]使用Pod Lib创建

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

入门

我们将使用pod lib create引导过程来创建整个pod 那么让我们从初始命令开始:

pod lib create MyLibrary

注意:要使用您自己的pod-template,您可以添加参数--template-url=URL,其中URL是包含兼容模板的git repo。
第二个注意:您可以按return键选择默认(带下划线)选项。

Objective-C或Swift

你问的第一个问题是你想要构建一个pod的语言。对于这两个选择,CocoaPods会将你的库设置为一个框架。

制作演示应用程序

该模板将为您的库生成Xcode项目。这意味着您无需在Xcode中创建新项目。

如果您想要一个示例项目pod try MyLib或者需要让您的库测试在应用程序内运行(交互测试,自定义字体等),那么您应该说是。一个好的指标是“这个Pod应该包含截图吗?” 如果是这样,那么你应该有一个演示。

选择测试框架

你应该测试你的库。测试可确保使用您库的人员的稳定性。在开源库中,这意味着人们可以在知道他们没有打破隐含期望的情况下进行更改。我们建议使用测试框架,而不是依赖Apple的XCTest,但包括在内。在Objective-C中,我们选择了两个流行的测试框架; Specta / Expecta和Kiwi。如果您无法决定,请使用Specta / Expecta。

Specta / Expecta

Objective-C&Cocoa的轻量级TDD / BDD框架。

GitHub仓库

Kiwi

Kiwi是一个用于iOS开发的行为驱动开发库。目标是提供一个易于设置和使用的BDD库。

GitHub仓库

主要区别在于Kiwi是Stubs / Mocks / Expectations的一体化方法,而Specta / Expecta是通过不同Podspecs的模块化方法。我们为您的测试框架提供了所有必要的包含和设置,MyLib-Tests.pch以便您不必将它们包含在每个文件中。

在Swift中,我们只提供Quick / Nimble的选择,因为它看起来是主要的测试库。

基于视图的测试

根据您所构建的内容库,你可能会发现快照基于测试是验证结果的聪明的方式不同的 动作 在 您的 看法我们建议使用FBSnapShotTestCase,如果您使用的是Specta / Expecta,那么我们将包含一个Pod来改进语法。

Objective-C的前缀

要结束Objective-C项目,我们想知道您的类前缀。这意味着我们可以使CocoaPods生成的所有类都适合您的样式,从Xcode内部生成的所有类都将以您的前缀开头。我们知道Apple正在弃用前缀,但实际上它们仍然在Objective-C代码库中占有一席之地。

Pod Lib创建模板

随着问题的结束,我们运行pod install新创建的项目。我们来看看结果:

 1 $ tree MyLib -L 2
 2 
 3   MyLib
 4   ├── .travis.yml
 5   ├── _Pods.xcproject
 6   ├── Example
 7   │   ├── MyLib
 8   │   ├── MyLib.xcodeproj
 9   │   ├── MyLib.xcworkspace
10   │   ├── Podfile
11   │   ├── Podfile.lock
12   │   ├── Pods
13   │   └── Tests
14   ├── LICENSE
15   ├── MyLib.podspec
16   ├── Pod
17   │   ├── Assets
18   │   └── Classes
19   │     └── RemoveMe.[swift/m]
20   └── README.md

我们试图将根文件夹中的金额最小化,您将看到以下文件:

  • .travis.ymltravis-ci的设置文件
  • _Pods.xcproject - Pod的项目符号链接到Carthage支持
  • LICENSE- 违反MIT许可证
  • MyLib.podspec - 您库的Podspec。
  • README.md - 降价中的默认README。
  • RemoveMe.swift/m - 单个文件以确保最初编译工作。

和以下文件夹:

  • Pod - 这是您放置库课程的地方
  • Example - 这是生成的演示和测试包

将您的库放在一起

CocoaPods将立即打开您的Xcode项目; 从那里你可以编辑CocoaPods生成的所有文件。让我们看一下Xcode的扩展版本: 

  1. 您可以编辑Podspec元数据,这样您就可以更改README和Podspec。
  2. 这是演示库,如果你没有对它说“是”,你将会错过这个。
  3. 以下是您之前选择的框架的已删除测试规范。
  4. 这是Development Pods部分,实际上您可以在库中工作。请参阅下面的详细信息。
  5. 最后,Pods用于设置项目。

这里值得一提的是,因为这会经常捕获人,所以Swift库需要声明它的类,public以便在示例库中看到它们。

开发Pods

开发Pod与普通CocoaPods的不同之处在于它们是符号链接文件,因此对它们进行编辑将更改原始文件,因此您可以从Xcode内部处理您的库。您的演示和测试需要使用该#import <MyLib/XYZ.h>格式包含对标头的引用

[!] Note:由于发展豆荚实现细节,当你添加新的/现有的文件Pod/ClassesPod/Assets或更新podspec,你应该运行pod installpod update

添加Travis CI

该模板包含一个.travis.yml文件,文件将运行项目中包含的默认测试。如果您在GitHub上有一个开源代码库,在Travis CI 上打开您的个人资料并打开该库。

 

/assets/images/pod_lib_create/travis-ci.png

部署您的库

所以你已经准备好了你的库。首先,您应该检查Podspec是否正确提示,因为您无法部署错误。这可以通过两种方法完成,pod lib lint并且pod spec lint它们之间的区别在于pod lib lint不访问网络,而是pod spec lint检查外部仓库和相关标签。

如果要将Open Source库部署到trunk,则不能发出CocoaPods警告。你可以有Xcode警告。您应该继续使用trunk指南开始部署到公众。

如果您要部署到私有Specs仓库,则需要添加该仓库。请参阅Private Specs Repos上的指南以进行设置。如果要部署到现有的私有回购,请使用此命令进行部署:

pod repo push SPEC_REPO *.podspec --verbose

完成👍

posted @ 2019-04-01 21:40  为敢技术  阅读(1568)  评论(0编辑  收藏  举报