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. PHP遍历目录和文件及子目录和文件

    正常直接使用opendir方法,就可以读到所有的目录和文件 文件可以直接记录下来,目录则需要再进一步获取里边的文件信息 也就是,如果当前读出来是目录,则需要再次调用函数本身(递归),直到没有目录 循环 ...

  2. centos etcd 启动失败

    chmod -R 777 /var/lib/etcd systemctl daemon-reload cat /etc/systemd/system/etcd.service " [Unit ...

  3. Unicode编码问题 如:\u529e\u7406\u9996\u6c7d\u52a0\u6cb9

    python 遇到\u529e\u7406\u9996\u6c7d\u52a0\u6cb9 解决方法: a = "\u529e\u7406\u9996\u6c7d\u52a0" b ...

  4. spring boot 2整合mybatis

    mybatis-spring-boot-starter主要有两种解决方案,一种是使用注解,一种是使用XML. 参考这篇文章动手跑了一个例子,稍微不同之处,原文是spring boot,这里改成了spr ...

  5. Learning-Python【27】:异常处理

    一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:这种错误,根本过不了 Python 解释器的语法检测,必须在程序执行前就改正 2.逻辑错误:比如用户输入的不合适等一系列错误 那什么 ...

  6. WebApi 后台获取token值

    前台传递一个token,后台不知道怎么获取那么不是很悲剧吗. $(function () { $.ajax({ url: "/api/TokensTest/FirstCode", ...

  7. Qt信号和槽机制

    概述 信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解.信号和槽是一种高级接口,应用于对象之间的通信,他是QT的核心特性,也是QT差别于其他工具包的重要地方.信号和槽是QT自行定义 ...

  8. R语言-默认镜像设置

    问题1:如何设置默认镜像 你希望下载某些R包,因此希望设定默认的CRAN网站镜像,这样R每次下载时不需要你选择镜像. 解决方案 该方案要求用户R系统中包含一个.Rprofile文件,如方法3.16描述 ...

  9. sqldeveloper 重置java.exe路径方法

    sqldeveloper重新配置java.exe 1.进入D:\app\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin路径下,找到sqlde ...

  10. SpringMVC 拦截器HandlerInterceptor(一)

    HandlerInterceptor 接口: 进入 Handler方法之前执行比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行 boolean preHandle(HttpS ...