zoukankan      html  css  js  c++  java
  • 如何添加自己封装的代码到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,然后一个字段一个字段的对比再试一试.

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

  • 相关阅读:
    【Leetcode】23. Merge k Sorted Lists
    【Leetcode】109. Convert Sorted List to Binary Search Tree
    【Leetcode】142.Linked List Cycle II
    【Leetcode】143. Reorder List
    【Leetcode】147. Insertion Sort List
    【Leetcode】86. Partition List
    jenkins 配置安全邮件
    python 发送安全邮件
    phpstorm 同步远程服务器代码
    phpUnit 断言
  • 原文地址:https://www.cnblogs.com/xzjxylophone/p/4956469.html
Copyright © 2011-2022 走看看