2019-01-25 pod私有库技术扩展

扩展一:使用.podspec文件来支持依赖本地其他项目文件(xcodeproj),实现在一个workSpace下联调:
首先创建一个小项目myDemo,然后在myDemo.xcodeproj的同级目录下,创建
myDemo.podspec
文件内容配置如下:(按照注释修改即可)

Pod::Spec.new do |s|

  s.name         = "myDemo"
  s.version      = "0.0.1"
  s.summary      = "#{s.name}"


  s.description  = "#{s.name}"

  s.homepage     = "http://#{s.name}"

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


  s.author             = { "" => "" }


  s.source       = { :git => "", :tag => "#{s.version}" }

  s.source_files  = "#{s.name}/Classes/**/*.swift"// 关键:对外开放的文件写在myDemo/Classes/下面所有的子文件夹中
  # s.exclude_files = "#{s.name}/Classes/Exclude"

  # s.public_header_files = "Classes/**/*.h"

  #s.resource  = "#{s.name}/Assets/*.xcassets"
  s.resources = "#{s.name}/Classes/**/*.{xcassets}"//关键:对外开放的资源都放在myDemo/Classes/下面所有的子文件夹中

  # s.preserve_paths = "FilesToSave", "MoreFilesToSave"



  # s.framework  = "SomeFramework"
  # s.frameworks = "SomeFramework", "AnotherFramework"

  # s.library   = "iconv"
  # s.libraries = "iconv", "xml2"


  # s.requires_arc = true

  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
  
//下面写是myDemo依赖的第三方组件
  s.dependency "DeviceKit","~>1.10.0"
  s.dependency "RxSwift","~>4.4.0"
  s.dependency "RxCocoa","~>4.4.0"
  s.dependency "SnapKit","~>4.2.0"
  s.dependency "Then","~>2.4.0"
end

使用方法:
在你的mainProject目录中podfile中写入:
pod 'myDemo',:path => '../myDemo/'
path =>后面引号内容,是文件相对于podfile所在的路径,这个路径规则类似vue.js的文件导入规则。
这样在mainProject目录 执行pod install,你就会发现,第三方依赖于你的myDemo对外开放的文件都集成到mainProject.workSpace下面了。

扩展二:支持在局域网,建立自己的私有库。这样做的好处是即使没有网的情况下,也可以使用cocoapod进行更新
以MJRefresh为例
git clong https://github.com/CoderMJLee/MJRefresh.git
git remote add newRemote #myGit仓库#
git push newRemote
git push newRemote --tags
剩下的是建立索引库,就是podfile文件最上方的 source地址
如:source '你的git仓库地址'
如:source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'取得清华的镜像仓库

其实索引库也是一个Git仓库,不过里面存的是索引文件(podspec.json)不是真正的代码。假设这个仓库叫仓库2
打开本地文件路径 /Users/#MacUserName#/.cocoapods/repos/master/Specs
我们可以看到里面建立的索引库。
在这个路径下搜索:MJREfresh
我们可搜到很多文件夹,只有一个是真的,其他的都是在MJREfresh变形的。
打开后,我们会发现每个tag对应一个文件夹
如3.1.15.7文件夹里面的文件是:MJRefresh.podspec.json

{
  "name": "MJRefresh",
  "version": "3.1.15.7",
  "summary": "An easy way to use pull-to-refresh",
  "homepage": "https://github.com/CoderMJLee/MJRefresh",
  "license": "MIT",
  "authors": {
    "MJ Lee": "richermj123go@vip.qq.com"
  },
  "platforms": {
    "ios": "6.0"
  },
  "source": {
    "git": "https://github.com/CoderMJLee/MJRefresh.git",//关键点是这里,这里改成之前你上传MJ代码的仓库地址即可
    "tag": "3.1.15.7"
  },
  "source_files": "MJRefresh/**/*.{h,m}",
  "resources": "MJRefresh/MJRefresh.bundle",
  "requires_arc": true
}

按照上面的注释修改即可

然后将你的文件夹(MJREfresh->MJRefresh.podspec.json)上传至你的私有仓库2中,那么即使不能连外网,我们也可以podfile上加上
source 'http://git.xxx.com.cn/myPods/mySpecs.git'
这样你可以更新到MJRefresh的3.1.15.7的版本了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,706评论 4 366
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,002评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,462评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,375评论 0 216
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,763评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,849评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,033评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,768评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,490评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,734评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,204评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,566评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,227评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,137评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,934评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,926评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,774评论 2 274

推荐阅读更多精彩内容