美文网首页iOS学习笔记
如何上传代码到CocoaPods

如何上传代码到CocoaPods

作者: NULLS | 来源:发表于2017-01-11 11:30 被阅读0次

    安装CocoaPods

    如果安装忽略以下步骤
    查询资源出处
    gem sources -l
    替换镜像服务器
    gem source --remove https://rubygems.org/
    gem source -a https://gems.ruby-china.org/(可换成其他镜像)
    安装Cocoapods
    sudo gem install cocoapods --pre
    (注:使用 --pre 是为了尽量使用最新的版本)
    成功后,安装到此结束可以通过pod search AfNetworking 验证

    验证出错
    如果卡在setup这一步,一般是网络问题 这是要把服务器上的所有三方库列表备份到本地包比较大需要耗费很长时间, 因为默认的repo镜像是国外的https://github.com/CocoaPods/Specs.git
    我们可以替换成国内的如:
    https://git.coding.net/CocoaPods/Specs.git
    命令:
    git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
    完成后 记得
    pod repo update 这时候url就会改变了(pod repo 查看)
    但是这里执行pod setup命令的话还是会切换回去,在~/.cocoapods/repos/master/.git目录下config文件里面有个url ,可以查看修改,以上只能保证列表能快速下载到本地,对于后面我们pod lib lint的话又会执行setup导致url又自动改变了 恢复到默认设置。这时候貌似只能慢慢等了(我在这一步卡了很久 最后还是重复试了几次才成功
    这时候如果search还没有的话执行下面命令清楚缓存再试试:
    rm ~/Library/Caches/CocoaPods/search_index.json

    创建编辑自己的Pod

    使用命令 pod lib create yourPodName (这一步需要在你要存放的文件夹下执行 如:cd /Users/admin/Desktop 创建到桌面上)
    执行命令后会出现各种选项 如实填写即可
    注:Would you like to include a demo application with your library? [ Yes / No ] 这里如果要同时创建demo的话就Yes 如果只是上传library No 这里以前创建的时候选择No进入project是能成功编译的 现在不能编译 如果是选择yes的话能编译 都不影响上传

    修改文件

    在刚刚创建的文件下一般需要修改两个文件
    ../README.md
    ../yourPodName.podspec

    podspec文件修改如下:
    --------------------------------------------分割线-------------------------------------
    Pod::Spec.new do |s|
    s.name = 'YCYCategories'
    s.version = '0.0.1'
    s.summary = 'YCYCategories is a category for ios.'
    s.homepage = 'https://github.com/CattleToCoaxStudio/YCYCategories''www.example.com/screenshots_2'
    s.license = { :type => 'MIT', :file => 'LICENSE' }
    s.author = { 'chengyou.yang' => '864390553@qq.com' }
    s.source = { :git => 'https://github.com/CattleToCoaxStudio/YCYCategories.git', :tag => s.version.to_s }
    s.ios.deployment_target = '6.0'
    s.requires_arc = true
    s.source_files = 'YCYCategories','YCYCategories/.{h}',' YCYCategories//.{h,m}'
    s.frameworks = 'UIKit', 'Foundation'
    end
    ----------------------------------------分割线-----------------------------------------
    (注:如果需要引用其他的三方库,s.dependency 'AFNetworking' s.dependency 'FMDB' s.dependency 'MJExtension'之后同样需要pod install )

    此时需要查看Example文件夹下是否已经默认执行过一次pod install
    (注:新版本可能已经存在podfile、.xcworkspace等文件,此时不需要再执行pod install 如果没有这些文件 切换到Example文件下执行pod install )

    接下来打开yourPodName..xcworkspace文件开始编辑你要加入的代码

    本地初始化Pod并提交代码到Github

    在此之前先去github上面创建自己的仓库,然后提交代码:

    git add -A && git commit -m "release 0.0.1"
    git tag '0.0.1'
    git remote add origin https://github.com/CattleToCoaxStudio/YCYCategories.git
    git push --tags
    git push origin master

    校验pod是否有效(前提工程要能成功编译)
    pod lib lint --allow-warnings 或 pod spec lint

    (注:命令后面加--allow-warnings出现警告的时候也能通过,如:WARN | summary: The summary is not meaningful.)

    如果校验没有通过,根据报错更改相应文件即可,一般是yourPodName.podspec配置出错 ,注意 s.source_files路径问题

    注册CocoaPods并提交Pod

    注册
    pod trunk register xxx@xxx.com 'yourName' --description='macbook pro'
    查看自己的信息
    pod trunk me
    如果多人维护pod 可以添加其他维护者
    pod trunk add-owner name xxx@xxx.com
    上传
    pod trunk push
    push的过程时间较长 通过后可以通过pod search xxx进行查询

    问题1

    如果上传中出现Performing a deep fetch of the master specs repo to improve future perform且长时间无反应

    需要将cocoapods卸载 重新安装

    卸载步骤

    which pod 拷贝打印出来的路径
    移除组件

    sudo rm -rf <path> path为cocoapods安装路径

    查看gems中本地程序包

    gem list | grep cocoapods
    然后出现所有关于cocoapods的程序包,逐个卸载

    sudo gem uninstall cocoapods -v 1.0.0 (后面可省略)

    程序包全部卸载后,cocoapods卸载完毕,然后重新安装

    问题2

    如果已经成功上传 自己能pod search 查询到自己的版本,但是别人依然查询不到
    这时候只能让别人也升级cocoapods 并 清楚缓存 再次尝试
    升级的步骤可以参考安装cocoapods的步骤

    rm ~/Library/Caches/CocoaPods/search_index.json

    相关文章

      网友评论

        本文标题:如何上传代码到CocoaPods

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