美文网首页
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进行使用:

相关文章

  • 2020-03-16

    使用cocoapods更新第三方库 只更新指定第三方库,不更新其他的库 pod update 库名--verbos...

  • 解决编译时Androidx引用和第三方库中Support引用冲突

    在Android Studio中新建项目使用Androidx库,如果此时使用的第三方库中包含旧版Support库,...

  • CocoaPods如何使用

    使用CocoaPods搜索第三方库为判断某第三方库(如AFNetworking)是否支持CocoaPods,执行如...

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

    在维护自己写的框架的时候偶然想到使用cocoapods进行维护(自身的框架包含了其他的第三方库),下面例子是对AF...

  • 制作CocoaPods

    iOS管理第三方库大多使用CocoaPods,如果需要实现组件化或者发布自己的开源库/私有库到CocoaPods,...

  • 最新cocoapods podFile文件

    CocoaPods是iOS中很方便的管理第三方库的插件,使用CocoaPods来管理第三方库,前提是要写好Podf...

  • Podfile文件管理

    经常使用CocoaPods来管理iOS项目中的第三方库,但是我们要使用CocoaPods来管理第三方库,前提是要写...

  • podfile 指定第三方库版本范围

    经常使用CocoaPods来管理iOS项目中的第三方库,但是我们要使用CocoaPods来管理第三方库,前提是要写...

  • Dart-自定义库、系统库、第三方库

    一、自定义库的使用 部分导入 二、系统库的使用 三、第三方库的安装使用

  • cocoapods相关

    使用cocoapods管理第三方库时,如何查看本地项目使用第三方库的版本。这里查看的是目前使用的第三方库的版本,而...

网友评论

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

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