1,在github上创建一个空仓库,要有licence和readme,clone到本地

2,pod lib create 项目名,这样就创建了一个静态库

3,pod spec create 项目名,创建一个pod描述文件   注意:git库必须打版本tag

4,pod lib lint 项目名.podspec ,验证pod项目正确性   如果已知连接失败,还是iOS 系统的库引用问题,加上  --use-libraries 即可

5,pod trunk push 项目名.podspec --allow-warnings

pod lib lint --use-libraries --verbose --allow-warnings  ,有些带c++库的,需要去掉 --use-libraries,但是如果用了subspec方式,有的需要 --use-libraries有的不需要怎么办?那就需要在配置的加上ss.library = 'c++'

6, 报branch错误,创建相应的分支推上去

7,source_files错误,修改文件路径

弄了一下午,一直卡在第7步!!!最后出来success的时候真激动的不行。。。

参考了俩博客,感谢这俩兄弟的奉献:

http://www.cnblogs.com/zhanglinfeng/p/6283178.html

http://www.cnblogs.com/marlonxlj/p/6062646.html

按照第一个步骤弄,出了问题看第二个博客。

重点:

如何更改pod trunk register 之后的用户名,官网的说法是重新register一次,但是根本不起作用,官网回答问题的地方是stack overflow,以下是我找到的新方法:

In terminal

grep -A2 'trunk.cocoapods.org' ~/.netrc

'Password' in response is your TOKEN. Copy it to clipboard. Then replace parameters in the following line and run it:

curl -v -H "Authorization: Token <MY CURRENT TOKEN>" -H "Content-Type: application/json" -X POST -d '{"email":"<MY EMAIL>","name":"<MY NEW NAME>","description":"<My DESCRIPTION>"}' https://trunk.cocoapods.org/api/v1/sessions

You will receive an e-mail. Follow the link in it.

DONE!

重点2:上传之后一直pod search不到,下面是解决办法

上传成功后,搜索不到, 记得 pod setup , 如果依然搜索不到,

终端输入rm ~/Library/Caches/CocoaPods/search_index.json

输出:Creating search index for spec repo 'master'.. Done!,稍等片刻就会出现

坑1:AFNetworking 打包成Framework之后上传到pod,出现ln连接问题,之后找到AFN的github项目,从他们的spec文件里找到依赖的所有ios framework加到s.frameworks 即可解决

s.frameworks = 'SystemConfiguration','Security','MobileCoreServices', 'CoreGraphics'

s.ios.vendored_frameworks = 'AFNetworking_bin/AFNetworking.framework'

私有库的创建:

# pod repo add #repo名# #远程仓库地址,如:pod repo add ymtSpecs git@git.xxx.net:iOSPods/ymtSpecs.git
# pod lib lint --sources='http://xxxx.com/xxx-public/Lib.git' --allow-warnings
# pod repo push Lib Lib.podspec --sources='http://xxx.com/xxx-public/Lib.git' --allow-warnings

source https://git.xxx.com/spec.git

创建cocoapod静态库发布到网上使用的更多相关文章

  1. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

  2. iOS 在工程内部创建一个静态库target

    当你在开发项目的时候需要把公用的东西打包出来,其他项目方便使用的时候,打包成静态库是你的最优选择,在工程内部开发的时候新建一个target进行静态库的开发可以使你的开发调试更加方便而不是单独新建一个工 ...

  3. VisualGDB系列7:使用VS创建Linux静态库和动态库

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...

  4. Xcode 创建.a和framework静态库(转载)

    库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...

  5. iOS静态库及Framework 创建

    本文转自cocoachina,尊重作者的汗水. 讲述的非常透彻,有需要的朋友可以阅读实践.转载请注明出处 //=================以下留着备份==================// 在 ...

  6. 经验分享:Xcode 创建.a和framework静态库【转】

    作者:Haley_Wong 最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态 ...

  7. Xcode 创建.a和framework静态库

    库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...

  8. 经验分享:Xcode 创建.a和framework静态库

    最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的 ...

  9. 使用CoApp创建NuGet C++静态库包

    NuGet是微软开发平台下的包管理软件,使用它你可以非常方便的将一些第三方的库.框架整合进自己的项目中,省去了不少麻烦的配置过程.但是从官方文档上来看,貌似NuGet对C++的支持不是很好,并且在现阶 ...

随机推荐

  1. Python select实现socket并发

    Python select  Python的select()方法直接调用操作系统的IO接口,它监控sockets,open files, and pipes(所有带fileno()方法的文件句柄)何时 ...

  2. Linux 查看系统状态

    查看系统状态 命令:vmstat 命令:vmsta 1 10               #每1秒钟1次显示10次. r:几个进程在占用cpu b:等待IO值 Swpd:多少交换内存 free:剩余内 ...

  3. weex安装失败,按照官网步骤多次失败后成功

    在安装Weex Toolkit之前,需要确保安装了node, npm. yangfeifei:~ yff$ node -v v6.10.2 yangfeifei:~ yff$ npm -v 3.10. ...

  4. UI自动化(三)css优先级

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. iOS报错总结

    1. new Date('2018-07-18 14:58:32').getTime();      //在ios上拿报Invalid Date    无法转化 Safari 正确解析new Date ...

  6. 一.rest-framework之版本控制 二、Django缓存 三、跨域问题 四、drf分页器 五、响应器 六、url控制器

    一.rest-framework之版本控制 1.作用 用于版本的控制 2.内置的版本控制 from rest_framework.versioning import QueryParameterVer ...

  7. 数组toString()方法,数组常用操作

    int[] arr ={1,2,3,4,5}; String arrString = Arrays.toString(arr); //输出[I@7150bd4d System.out.println( ...

  8. 环境准备—之—linux下安装jdk

    本文大部分转自  https://www.cnblogs.com/Dylansuns/p/6974272.html openjdk与jdk的区别 ----反正不一样,要不名字也不会不相同了 https ...

  9. Retrofit2

    导入项目,开启服务端 原文链接 我的Demo AndroidStudio导入会出现无法加载主类 解决办法: 1.选择自己的Jdk路径 2.运行配置,试试来回切换几次,最后选择Default就好了.再直 ...

  10. 依赖注入demo

    让我们看一个例子: class UserProvider{ protected $connection; public function __construct(){ $this->connec ...