美文网首页
Cocoapods创建基于SVN的私有库podspec

Cocoapods创建基于SVN的私有库podspec

作者: CoderChan | 来源:发表于2017-08-11 15:22 被阅读0次

    第一: 准备工作
    网上大部分资料都是讲的git, 这里就不说git 了, 只讲SVN 的使用,
    使用 CocoaPods,及更新 ruby, 开始之前 更新到最新版本.
    安装cocoapods-repo-svn插件 , 关于这个插件可以参考: https://github.com/dustywusty/cocoapods-repo-svn

    $ sudo cocoapods-repo-svn
    $ sudo gem install cocoapods-repo-svn
    

    第二:制作基于 SVN 的私有 spec repo
    1 ,先在 svn 服务器上新建一个放 spec 的远程仓库(文件夹) 这里使用 neterp-pub-specrepo(文件名),
    这个仓库(neterp-pub-specrepo)不需要创建标准的 trunk、tags、branches 目录,仅仅是放组件的 spec 文件.
    2, 使用这个 neterp-pub-specrepo 的svn仓库地址创建一个私有的 repo 仓库
    3, 默认会有一个 git 的repo仓库,

    查看所有的repo:  $ pod repo
    添加svn 的repo:  $ pod repo-svn add neterp-pub-specrepo http://192.168.2.222/svn/neterp-pub-specrepo
    添加git 的repo:  $ pod repo add xxx.git
    删除一个 repo :  $ pod repo remove neterp-pub-specrepo
    

    然后查看repo 会有两个 repo :

    Snip20170922_15.png

    第三: 创建一个组件 , 每一个组件都要有一个 .podspec 文件管理
    1, 可以手动创建 工程文件 ,并且创建 NetworkTool-Swift.podspec 文件 , spec文件, 网上很多资料描述. 这里就不多说了

    $ pod spec create Network-Swift
    
    Pod::Spec.new do |s|
      s.name         = "NetworkTool-Swift"
      s.version      = "0.0.1"
      s.summary      = "NetworkTool-Swift."
      s.description  = "NetworkTool-Swift 网络请求"
      s.homepage     = "http://EXAMPLE/NetworkTool-Swift"
      s.license      = "MIT"
      s.author             = { "lianchen" => "lianchen551@163.com" }
      s.source       = { :svn => "https://192.168.3.105:9001/svn/NetworkTool-Swift" }
      s.source_files  = "NetworkTool-Swift/NetworkTool-Swift/**/*.{swift}"
      s.dependency 'Alamofire', '~>4.2.0'
    end
    

    2, 使用模板 pod lib create NetworkTool-Swift , 然后基于默认模板进行修改
    使用该命令后最回答几个问题,分别是姓名、邮箱(用于 spec 文件中的作者信息)、选择语言(有 Swift 和 ObjC,这里选择 ObjC)、是否需要 demo 工程(这个是需要的,利用这个 demo 进行组件测试)、选择测试库(这里选 None)、do view based testing(这里选 No)
    这里暂时不详细说 模板

    $ pod lib create NetworkTool-Swift
    

    第四: 把 做好的 NetworkTool-Swift.podspec 文件 提交到 第二步 做好的私有库中(neterp-pub-specrepo) ,
    cd 到 NetworkTool-Swift.podspec 所在的目录, 使用终端命令: 把做好的.podspec文件推到私有库,

    $ pod repo-svn push neterp-pub-specrepo Network.podspec
    

    第五: 在工程目录下的 Podfile 文件下添加私有 repo 的 svn 地址,才能下载私有库

    target 'Login-swift' do
    use_frameworks!
    # 添加私有 repo 的 svn 地址: 
    plugin 'cocoapods-repo-svn', :sources => [
        'https://192.168.3.105:9001/svn/mobile/neterp-pub-specrepo'
        ]
    pod 'Network-Swift'
    end
    

    检查spec 文件有效性:
    $ pod repo-svn lint NetworkTool-Swift.podspec

    最后: 设置tag: svn设置tag就是copy一份代码, 这里只需要copy需要的文件夹就可以, 不需要copy整个测试工程
    注意版本号, 要对应 .podspec文件里的版本号

    svn copy https://192.168.3.105:9001/svn/neterp-app/neterp-app-ios/neterp-pub-app-ios/neterp-pub-components/commonModules/Network/trunk/Classes https://192.168.3.105:9001/svn/neterp-app/neterp-app-ios/neterp-pub-app-ios/neterp-pub-components/commonModules/Network/tags/1.0.1 -m "1.0.1"
    

    上面这个svn路径有点长(自己用的): 看下面这个短的

    svn copy https://192.168.3.105:9001/svn/Network/trunk/Classes https://192.168.3.105:9001/svn/Network/tags/1.0.1 -m "1.0.1"
    

    第六步: 如果pod install 成功了, 还没有文件, 那就是文件路径有问题,
    如果 pod install 失败了, 那就继续踩坑吧!

    写得不是很详细, 踩不过的可以留言

    本文参考: http://www.qingpingshan.com/rjbc/ios/295448.html

    相关文章

      网友评论

          本文标题:Cocoapods创建基于SVN的私有库podspec

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