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,然后一个字段一个字段的对比再试一试.

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

  • 相关阅读:
    针对Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案
    MAC配置C++运行环境
    Keras 模型相关操作
    微信小程序 WXS
    vue 长列表优化
    webpack4 SplitChunks插件 代码拆分
    node path api
    mysql的模型依赖说明
    MySQL和MyCat replace
    SQL Server中WITH(NOLOCK)提示用在视图上会怎样(转载)
  • 原文地址:https://www.cnblogs.com/xzjxylophone/p/4956469.html
Copyright © 2011-2022 走看看