美文网首页
cocoapods使用自定义库(库中包含第三方库)

cocoapods使用自定义库(库中包含第三方库)

作者: sjeffery | 来源:发表于2016-08-17 16:31 被阅读121次

    在维护自己写的框架的时候偶然想到使用cocoapods进行维护(自身的框架包含了其他的第三方库),下面例子是对AFNetworking进行封装形成的自己的SJNetworking框架,其他项目中pod该框架进行使用:

    一:github操作

    1. 新建github账号,并新建repository,这里设置license为MIT(使用之后说明)。

    2. clone到本地,在本地新建工程,添加license跟README.md文件。

    二:下载CocoaPods


    具体流程如下Xcode->homebrew->RVM->Ruby->CocoaPods,遇到ruby版本问题则利用rvm进行更新。

    1. 下载rvm


    $ curl -L get.rvm.io | bash -s stable

    $ source ~/.bashrc

    $ source ~/.bash_profile


    2. 测试是否安装正常

    rvm -v

    3. 用RVM升级Ruby


    $ ruby -v  //查看当前ruby版本

    ruby 2.0.0

    $ rvm list known //列出已知的ruby版本

    $ rvm install 2.2.2 //安装ruby 2.2.2


    4. 使用淘宝镜像

    gem sources --remove https://rubygems.org/ 

    //等有反应之后再敲入以下命令 移除本地镜像

    gem sources -a http://ruby.taobao.org/  //使用淘宝镜像

    为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

    $ gem sources -l

    终端上会显示

    *** CURRENT SOURCES ***

    http://ruby.taobao.org/

    然后在执行

    sudo gem install cocoapods

    pod setup

    三:制作SJNetworking框架

    1.编写podfile 下载AFNetworking

    platform :ios, '7.0'

    use_frameworks!

    project '/Users/MAC/Desktop/SJNetworking/SJNetworking.xcodeproj'

    target 'SJNetworking' do

    pod 'AFNetworking'

    end

    2.将代码提交到github上。

    1.cd到目标文件夹。

    2.git init。(在本机上想要创建一个新的git仓库)

    3.git add -A (git add -A: [path]表示把中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库,省略表示.,即当前目录。

    4.git remote add origin xxxxxxxxx xxxxxx就是你仓库的地址,具体的地址可以去Github上copy。关联远程仓库。例子:https://github.com/zhengwenming/RCIM.git

    5.git commit -m “提交信息”

    6.git pull –rebase origin master 更新远程更新到本地:

    推送本地更新到远程:(注意rebase前面是两个-,不是一个-,而是 –杠杠,哈哈,别搞错了)。

    7.git push origin master(git push -u origin master) 将本地repo于远程的origin的repo合并,第一次用-u,系统要求输入账号密码

    ///出现  master -> master (non-fast-forward)问题

    ///先执行git pull 然后再执行 git push --force origin master 替换原先的git push -u origin master

    8.git pull (上传add的代码)

    9.去Github上面检查代码,已经上传成功。

    为git打tag的命令如下

    git tag 0.0.1 ##为git打tag

    git push --tags ##将tag推送到远程仓库

    3编写SJNetworking.podspec文件

    pod进行注册

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

    编写podspec文件

    Pod::Spec.new do |s|

    s.name            = "SJNetworking"

    s.version        = "1.0.0"

    s.summary      = "SJNetWorking只是我的测试"

    s.description  = <<-DESC

    SJNetworking是我用来测试封装第三方库然后能否被调用。

    DESC

    s.homepage    = "https://github.com/mynameissujie/SJNetWorking"

    s.license          = "MIT"

    s.license          = { :type => "MIT", :file => "LICENSE" }

    s.author          = { "AbooJan" => "aboojaner@gmail.com" }

    s.platform        = :ios, "7.0"

    s.ios.deployment_target = "7.0"

    s.source          = { :git => "https://github.com/mynameissujie/SJNetWorking.git", :tag => "1.0.0" }

    s.source_files  = "SJNetworking/Class/*"

    s.requires_arc  = true

    s.frameworks  = "UIKit","Foundation","Security"

    s.dependency "AFNetworking"

    end

    ///s.authors跟注册的名字邮箱要保持一致

    pod lib lint //进行验证

    pod trunk push SJNetworking.podspec  //上传到github

    pod repo update //更新库进行搜索

    pod search SJNetworking //若搜索到则说明该框架已存在cocoapods上,可以进行使用。

    四:使用SJNetworking框架。


    本地新建工程,并cd到该目录。

    vi Podfile//编写Podfile 文件

    podfile文件格式说明

    platform :ios, '7.0'

    use_frameworks!

    project '/Users/MAC/Desktop/SJNetWorkingFinal/SJNetWorkingFinal.xcodeproj'

    target 'SJNetWorkingFinal' do

    pod 'SJNetworking'

    end

    pod install //安装工程

    自此 工程安装完成,可以点击workspace进行使用:

    相关文章

      网友评论

          本文标题:cocoapods使用自定义库(库中包含第三方库)

          本文链接:https://www.haomeiwen.com/subject/nipmsttx.html