创建自己Swift Cocoapod库

917 阅读3分钟

最近想把自己的封装的AXUIElement这个MacOS的API的库进行上传到Cocoapod,让大家都能使用的想法下。自建了一个Cocoapod的库。库的地址

然而在创建的过程中也遇到了很多问题,同时也解决了很多问题。在这里也向大家分享一些。

1. 首先要有一个仓库进行存储你的代码。至于仓库平台的选择有很多。Github、Gitlab、Gitee等。基于全球最大的基友平台的聚集地。所以我就选择了Github这个基友平台。然后就开始创建库:

2.创建库后,我们就需要把我们的代码文件上传到该库。首先我们需要把我们这个新建的库,clone到本地:

cd 到你需要存储在代码的文件夹里面的路径!
git clone https://github.com/DevilFinger/DFAXUIElement.git

而这个git的地址就是在这里获取:

3.然后在文件里面创建一个名为Classes的文件夹,然后把你的的代码拖入到里面去!!!!!!

4.基础的东西都弄好了,我们就可以开始建立podspec文件。这个是用于描述你的库和让别人可以pod到你的库的重要文件!!!

pod spec create DFAXUIElement

5.创建完成后,我们就可以开始编辑里面的内容。可以通过vim DFAXUIElement.podspec进行编译,也可以通过sublime进行编辑。

podspec里面其实已经列好所有规则和每个规则的说明了。但主要的大概是如下这些:

Pod::Spec.new do |spec|
  spec.name         = "DFAXUIElement" //这个是你的库的名字
  spec.version      = "1.0.5" //这个是你的库的名字
  spec.author       = { "raymondchans" => "raymondchans@live.cn" }//这个是制作者的名称和联系邮箱
  spec.homepage     = "https://github.com/DevilFinger/DFAXUIElement"//这个是库的地址
  spec.summary      = "A fastway to use Accessibility API in MacOS with AXUIElement with Swift" //这个是库的描述
  spec.source       = { :git => "https://github.com/DevilFinger/DFAXUIElement.git", :tag => "#{spec.version}" }//这个库的git的地址
  spec.license      = { :type => "MIT", :file => "LICENSE" }//这个是公开协议
  spec.platform              = :osx //这个是库的平台,我这里是mac的,如果是iOS的就为[:ios].记住!这里没有引号
  spec.osx.deployment_target = '10.11' //这个是你的库支持的版本
  spec.source_files  = 'Classes/**/*.{h,m,swift}'//这个是你的库的文件
  spec.public_header_files = 'Classes/*.h'//这个是你的库的统一的头文件
  spec.swift_versions = '4.0' //这个是你swift的版本
  spec.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.0' } //暂时不知道。因为看到别人也有,我就也添加了
end

6.编写完podspec文件后,我们就把这些修改和添加都push到Github

git add .
git commit -m "init commit"
git push
git tag '1.0.5'  //这里一定要打tag,因为pod是基于版本进行获取的
git push --tags //推送到远程

7.在所有的都确保没问题了。我们就可以进行验证podspec是否有问题

pod spec lint DFAXUIElement.podspec --verbose --allow-warnings

成功的话,会有以下提示:

DFAXUIElement.podspec passed validation

8.把我们的pod库推送到Cocoapod,这里我强烈建议用trunk。不要问我为什么,因为google大神都是这样干的!

pod trunk push DFAXUIElement.podspec --allow-warnings

如果还没注册,可以用下列命令进行注册

pod trunk register 邮箱全称 '用户名' --verbose

注册完之后,你的邮箱会收到一个验证邮箱

9.trunk成功后,会有以下提示:

关于更新pod库

1.之后如果需要更新,只需要把代码更新到Github上去后,重新进行trunk push即可:

pod trunk push DFAXUIElement.podspec --allow-warnings

如果更新后,在进行pod search 或者 pod install无法获取到最新的代码。可以看看我这篇文章

关于使用库,我相信大部分人都会使用,但在这里我还是简单的说明一下。

1.在项目里创建podfile,并且输入以下:

target 'WindowSnap' do
  use_frameworks!
  
pod 'MASShortcut'
pod 'DFAXUIElement'
end

2.然后在需要调用的地方,进行module的import