创建一个iOS CocoaPod

vvvvvvv

本文是本文的旧版本 我强烈建议您改为阅读 新文章

^^^^^^^^

这种创建pod的方式使用了Cocoapods文档中的设置方式,我认为它们的设置方式使添加字体图像和管理文件结构变得异常困难。

现在开始上古历史课:

阅读了7分钟,但应该完整。

如果您的机器上没有Cocoapods,则应通过在终端上输入以下内容进行安装:

sudo gem install cocoapods

您也可以使用相同的命令更新Cocoapods。 转到要存储cocoapod的目录。 ( cd )然后运行:

pod lib create nameYouWantForYourProject

当它自动生成并正确设置您的广告连播时,它会提示您一些问题:

它应该自动创建并打开一个项目:

Cocoapod服务会找到源代码托管在源存储库中(例如,在Github上),这就是它用来定位代码,创建内部版本并允许其他人下载的代码。 让我们为其创建一个新的仓库。

不要使用READ.ME,许可证或.gitignore初始化存储库,因为本地存储库已经自动生成了一个。 (从您在pod lib create nameYouWantForYourProject)

单击create repository,在终端中转到您的项目:

cd nameYouWantForYourProject

git add .

git commit -m "first commit"

然后复制并粘贴github中提供的命令。

git remote add origin https://github.paypal.com/Slydon/nameYouWantForYourProject.git

git push -u origin master

现在让我们检查Pod规格

编辑s.summary的字符串以应用于您的项目。

s.version = '0.1.0'

s.summary = 'A short description of PPUIElementModules91.'

通过换掉<<-DESCDESC,的行来重写描述。

如果其长度小于摘要,则pod(pod程序)将拒绝它!

s.description = <<-DESC

creating a pod to be used as a template for ui elements and it will accept tokens from design teams.

DESC

从您的GitHub上获取主页URL,从地址栏中获取一个,而不是用于克隆的URL。

s.homepage = 'Change this to your github project url (not .git)'

现在,将源更改为您的.git网址(用于克隆的网址)。

s.source = { :git => 'paste your .git url here!!!!!', :tag => s.version.to_s }

通过删除#MapKit取消对此注释

# s.frameworks = 'UIKit' -> s.frameworks = 'UIKit'

哦,加上这个。 它可以为您节省一些麻烦。 只需将其设置为您使用的快速版本即可。

s.swift_version = '4.0'

s.xcconfig = { 'SWIFT_VERSION' => '4.0' }

command -> s保存您的.podspec。

我还将搜索您的项目以确保所有这些都匹配。

然后在您的终端上运行。

pod lib lint nameYouWantForYourProject.podspec

这将检查您的.podspec文件,并确保它无法预见任何问题。 按照提示进行调试,直到看到以下内容:

太棒了,现在让我们运行示例项目。

然后,您应该可以在示例项目中import YourPod 。 运行后应该会自动完成!

主要主要主要警报

将文件正常添加到项目中时,通常不必担心其他程序能够找到它,因为它会自动放置在您想要的位置。 但是对于Pods,情况并非如此。 将.swift文件添加到正确的位置有点棘手。 因此,您必须在finder中仔细选择正确的位置。

例如,假设我想将文件添加到我创建的classes文件夹中:

Command -> N > Choose .swift > Next

您可能会注意到,此处的文件结构没有反映出上面Xcode文件导航器中的文件结构。 例如,在Xcode的文件导航器中没有名为Example的文件夹。 在这种情况下,您需要帮助寻找一点点。 在我的情况下,路径如下所示:

我希望我创建的课程进入课程文件夹。 注意到奇怪吗? PPUIElementModules91文件夹中有一个PPUIElementModules91文件夹,但是最终您知道当找到两个名为Classs和Assets的文件夹时,将其放置在正确的位置。 如果将文件放在其中,则应该可以找到它们。

唷。

每次在项目中添加文件时,请确保项目是唯一检查的目标。 由于某种原因,当我创建此文件时,它默认使用错误的目标。

我建议将代码复制并粘贴到这些文件中。

假设您要添加字体或图像…

目录和文件存储在您的计算机上。 通常,Xcode使用.xcodeproj来跟踪项目文件的关系。 Finder使用目录来跟踪文件。 将字体添加到项目中的最佳方法是将字体添加到Finder中的项目中,然后将引用从Finder中的项目拖到Xcode项目中。

在文件导航器中单击您的字体。 然后单击右上角的纸张图标(在属性检查器中)。

将引用拖动到项目中后,您仍然必须在构建阶段在链接二进制文件中将其+(确保选择了正确的目标)

点击豆荚

在目标下单击您的项目

然后建立阶段。

然后单击加号

然后点击这个

然后单击加号。

将字体添加到此列表。

现在,您可以确保plist和字体具有正确的目标成员身份。

然后,您可以动态加载字体,如下所示

将您的路径放在引号中(不要使用我的),并将您的广告连播的名称放在广告连播旁边(不要使用我的)。 保存! Command -> S

我们将在本地测试Pod!

pod install

(希望能奏效)

关闭您的项目,然后重新打开其工作区。

TARGETS下单击目标,然后单击General

向下滚动到“链接的框架和库”。 单击加号。

然后单击加号并添加您的广告连播。 我不知道为什么它会生成随机的framworks并将其放在此处。

点击Add

现在打开文件导航器,您应该在nameYouWantForYourProject > Development Pods nameYouWantForYourProject > nameYouWantForYourProject > Your classes!下看到添加的文件Your classes!

导入您的吊舱!

import nameOfYourPodHere

如果Xcode不能自动完成您的Pod,则可以运行

Command b

现在您可以访问您的公共变量!

现在做!

pod trunk push

这将找到您的podspec文件,并在进行几次验证后上推到cocoapods。 这可能需要一些时间。

希望您会收到祝贺的消息。 您可以查看cocoapod网站,并在其中看到您的广告连播。

让我们在项目中相应地更新Podfile。 更改此:

pod 'PPUIElementModules91', :path => '/Users/slydon/Desktop/PPUIElementModules91'

对此:

pod 'PPUIElementModules91', :git => 'https://github.com/YOUR_USER_NAME/YOUR_COCOAPOD.git'

然后,您可以打开项目并从pod文件中删除本地路径,然后可以运行pod install。 添加框架,然后可以打印hello变量。