美文网首页
2018-12-27如何在局域网使用cocopods

2018-12-27如何在局域网使用cocopods

作者: 幸福晓杰2016 | 来源:发表于2018-12-27 16:54 被阅读21次

在某些公司的局域网内,我们可能是无法访问github网站的。如果做iOS开发,我们需要这些第三方库依赖。如何通过github上的开源库,我们来设置自己的依赖呢。

通过下面这些操作,你可以对 git的specs索引库有更深的理解。

以MJRefresh为例,在一台可以访问github的电脑,找到github上git地址addressA
git clone addressA
将MJRefresh 克隆到本地

将代码复制到不能访问github的电脑
cd到当前文件夹
git remote -v 查看当前的远程地址,是实际上github的仓库地址,名称为origin

git remote add me addressB
该操作是添加新的远端仓库地址。addressB是你创建的git仓库地址,别名是me

git push me 推送到远端代码
git push me --tags 这一步很关键。
因为有了这一步,第三方库就是有版本号。我们使用的pod 'MJRefresh' ,'3.1.2'命令中的3.1.2就是对应的tag号。

做到了以上这些还不够。我们即使在Podfile文件中头部添加这句话
source 'https://xxxx.com/myCocoaPods/MJRefrsh.git'
或者是这样写
pod 'MJRefresh' ,'3.1.2' , :source => 'https://xxxx.com/myCocoaPods/MJRefrsh.git'

为什么会这样呢?
回到你的finder 打开如下路径:/用户/MacUserName/.cocoapods
或者shift+command+. 打开显示隐藏文件夹
在这个路径下(/用户/fjzlsc/.cocoapods/repos/master/specs)我们可以看到几乎所有的cocoapod上出现的索引库。里面采用哈希分布,0-f 三层 共有161616个哈希索引,每个索引下有一系列的库

我们在/用户/fjzlsc/.cocoapods/repos/master/specs中搜索:
它的路径是0/f/b/的索引下面,通过搜索,我们还能搜索出别人在基础继续修改的库,如:


image.png

打开MJRefresh,我们可以看到MJRefresh下所有的版本号对应的文件夹


image.png
重点来了:这个以podspec.json 为结尾的文件,就是关键的索引文件
打开这个文件,我们可以看到:
{
  "name": "MJRefresh",
  "version": "3.1.2",
  "summary": "An easy way to use pull-to-refresh",
  "homepage": "https://github.com/CoderMJLee/MJRefresh",
  "license": "MIT",
  "authors": {
    "MJ Lee": "199109106@qq.com"
  },
  "platforms": {
    "ios": "6.0"
  },
  "source": {
    "git": "https://github.com/CoderMJLee/MJRefresh.git",
    "tag": "3.1.2"
  },
  "source_files": "MJRefresh/**/*.{h,m}",
  "resources": "MJRefresh/MJRefresh.bundle",
  "requires_arc": true
}

我们要着重修改下面这部分
"source": {
"git": "https://github.com/CoderMJLee/MJRefresh.git",
"tag": "3.1.2"
},
我们将source改为自己的git代码https://xxxx.com/myCocoaPods/MJRefrsh.git

然后,我们也需要像cocoapod一样模拟一个索引库,但是这个索引库,我们没必要建立哈希查找索引,只需要把自己需要的库放进去即可。

建立方法也很简单:
https://xxxx.com/myCocoaPods/mySpecs.git
里面我们只需要把刚才MJRefresh文件下所有文件和文件夹拷贝一下。然后使用脚本语言,把所有的source中的git地址修改一下。
这样,我可以把MJRefresh文件夹上传至远端仓库上https://xxxx.com/myCocoaPods/mySpecs.git,这样
我们在配置podfile时,只要在头部添加这句话
source 'https://xxxx.com/myCocoaPods/MySpecs.git'
或者是这样写
pod 'MJRefresh' ,'3.1.2' , :source => 'https://xxxx.com/myCocoaPods/MySpecs.git'

至此,我们在局域网或者受限网络环境下,使用cocoapods功能完全实现。

参考文章:Podfile语法参考

相关文章

  • 2018-12-27如何在局域网使用cocopods

    在某些公司的局域网内,我们可能是无法访问github网站的。如果做iOS开发,我们需要这些第三方库依赖。如何通过g...

  • cocopods 使用

  • cocopods使用

    vim Podfile 键盘输入 i,进入编辑模式,输入 platform :ios, '7.0' pod 'MB...

  • Cocopods使用

    Cocopods 在第一次pod install的时候会生成lock文件,lock文件是合作开发 统一所有导入的...

  • cocopods使用

    1.打开 mac终端 cd 到iOS已有项目,可以看到xx.xcodeproj等文件 2.vim podfile文...

  • CocoPods使用

    新建podfile cd 工程路径可以拖拽文件直接到终端 pod touchfile pod install 关闭...

  • cocopods使用

    安装好之后,新建工程打开终端 1.cd 到项目地址​ ➜ ~ git:(master) ✗cd /User...

  • CocoPods使用

    本文献给初次使用CocoPods的童鞋们,以下代码可以直接复制使用 CocoPods安装前的终端配置 1.移除现有...

  • 可视化CocoaPods.app的使用

    WHAT IS COCOAPODS 什么是Cocopods COCOAPODS 使用方法 一. 使用Mac ...

  • 2021-02-01

    cocopods使用的记录 方便查看 几年前进行过组件化,使用cocopods管理,但是几年后又开始组件化一个项目...

网友评论

      本文标题:2018-12-27如何在局域网使用cocopods

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