• 如何添加自己封装的代码到Cocoapod


    这两天学习了如何添加自己封装的代码到Cocoapod中

    以下是我这两天遇到的各种坑:

    旧的方法:  http://my.oschina.net/u/727843/blog/392784

    这个看看可以大概了解以前的cocoapod是怎么添加新库的.

    新的方法: http://yulingtianxia.com/blog/2014/05/26/publish-your-pods-on-cocoapods-with-trunk/

    上述地址是非常详细的介绍了如何添加. 

    现在记录需要注意的地方:

    1. 必须需要FQ,要不然连不上cocoapod 的 trunk 服务器.

    2. 如果你执行了一个命令,半天没有反应,注意看看 是不是 把英文的单引号, 输入成了双引号 或者中文的双引号

    3. podspec 文件中,记得所有的单双引号都是英文的,如果出现中文, 会报语法错误,并且是错误的提示会指示到下一行.我是找了半天.

    4. 关于版本号, 文章(新的方法网址)中有一处是错误的,估计是trunk 变化了.

    我用的podspec是:

    s.name = 'RXCoreText'
    s.version = '0.1' 

    在给git 添加tag的方法:

    git tag '0.1'  
    git push --tags  
    git push origin master

    实际上git的版本是 0.1 而不是v0.1

    所以用:  

    pod trunk push RXCoreText.podspec --verbose

    会出现:

    warning: Could not find remote branch v0.1 to clone.

    fatal: Remote branch v0.1 not found in upstream origin

     

    意思是发现不了版本号,

    因此需要把上述git代码变成  v0.1(注意大小写):

    git tag 'v0.1'  
    git push --tags  
    git push origin master

     原因是在podspec文件中:

    tag => "v#{s.version}"

    注意前面的那一个字母的v.

     这样就可以正确的 pod trunk push 了!

    5.  出现这个错误:  NoMethodError - undefined method `length' for nil:NilClass

    可能的原因是 podspec文件,少了一些字段:

     s.name     = "RXVerifyButton"
      s.version  = "0.2"
      s.license  = "MIT"
      s.summary  = "RXVerifyButton is a simple SMS count down"
      s.homepage = "https://github.com/xzjxylophone/RXVerifyButton"
      s.author   = { 'Rush.D.Xzj' => 'xzjxylophoe@gmail.com' }

    6.  提交失败:

    did not pass validation, due to 1 warning (but you can use `--allow-warnings` to ignore it).

    其中之一的原因是:s.description 的长度 小于 s.summary

     7. 源码中有.a文件的:

    s.vendored_libraries '*.a'

    8. 需要引用系统库的:

    s.libraries  'z.1', 'sqlite3'

    注: 如果系统.a文件是lib开头的, 那么就直接省略掉,并且省略最后的.a

     

    我在pod trunk的时候,  少了一个  s.summary就会出现上述错误.

    如果大家发现上述的错误, 可以找一个正确的podspec,然后一个字段一个字段的对比再试一试.

    目前就发现如上的几个坑. 欢迎大家各种补充. 

  • 相关阅读:
    Ubuntu 18.04更换国内源方法
    CTFHub-Web-Web前置技能-PHPINFO
    CTFHub-Web-Web前置技能-目录遍历
    Python-字符串常见操作
    hadoop完全分布式虚拟机多机克隆后网卡配置
    N皇后问题 回溯非递归算法 C++实现2
    N皇后问题 回溯非递归算法 C++实现1
    N皇后问题 回溯递归算法 C++实现2
    N皇后问题 回溯递归算法 C++实现1
    无法更新运行时文件夹共享状态:在客户机操作系统内装载共享文件夹文件系统时出错——解决方案
  • 原文地址:https://www.cnblogs.com/xzjxylophone/p/4956469.html
Copyright © 2020-2023  润新知