让自己的项目支持 Carthage
据说 cocoaPods 升级到1.0之后变得使用起来不太方便了,好吧,这段时间公司事儿比较多而且是自己写的sdk就不怎么写demo了,cocoaPods也没用几次……
前两天朋友说要转战 Carthage 了,在网上搜了些教程还真是不难,但是有一些东西没有写太清楚,我就狗尾续貂再写一篇,也算是备忘
一、安装 Carthage。
这个网上有教程,推荐使用 homebrew 安装,真的不难。
二、创建工程,就是你要上传的、共享的那个。
就是一般的创建一个新的工程,把你要上传的功能写好,再简单点说就是,你写个Demo,实现功能,正常编译,可以跑起来就好。
三、创建一个新的 Target。
在 Demo 中点击 File-->New-->Target.. 选择下图中的 Cocoa touch Framework, 输入你的Framework名称 ,我就输入 SHBPlayer 喽

工程里会新建一个以输入名字命名的文件夹, 把里面的.h文件打开,删除自带的代码,引入要暴露的头文件

然后按照这个顺序再配置一下,如下图

再设置一下要分享的framework,点击停止按钮旁边的工程名-->Manage Schemes,如下图

ok, 打开终端神器,输入
carthage build --no-skip-current
希望是不报错,如果报错了自行度娘,本文不涉及。
命令运行完成后,你会发现你的项目文件夹里面多了一个Carthage文件夹,Carthage-->Build-->iOS-->SHBPlayer.framework,我们需要的framework就在这了,可以新建一个工程测试一下。
新建一个工程,把framework拖入工程,再按下面顺序配置一下

在工程里测试通过就可以着手上传了!
还回到我们的framework工程,我习惯用 SourceTree,把工程传到github仓库,这个根据个人习惯了也可以用终端什么的传上就好。
然后打上 tag,因为 Carthage 就是根据tag来clone的。
git tag 1.0.
git push --tags
ok了,这样别人就可以用这个framework了。
应用方式见Carthage 的使用
让自己的项目支持 Carthage的更多相关文章
- Carthage 让项目支持及使用,第三方静态库转为动态库
Carthage介绍 具体使用,可以查看官网的,文档地址 https://github.com/Carthage/Carthage.如果看不懂英文,可以看一下官文的翻译:https://www.jia ...
- 让android项目支持boost 支持c++11
在Application.mk 里增加-D__GLIBC__ 让项目支持boost 增加 -std=c++11 让项目支持c++11 (3.x的cocos本身已经支持了的) 看起来这样: APP_S ...
- 【抱怨文】vscode对多项目支持不够友好
vscode是一个简单的开发工具,启动快,速度快.但是当前1.26版本对多项目支持好像有点问题.命令行有个dotnet sln,但是只能添加新项目,却没有创建解决方案的命令.如果强行添加他会提示没有解 ...
- CocoaPods学习系列2——使自己的项目支持CocoaPods管理
该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...
- Nuxt项目支持import写法的最新解决方案
最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法.并提供了解决方案: 1.在package.json中添加我标红的部分: "scripts" ...
- Vue老项目支持Webpack打包
1.老的vue项目支持webpack打包 最近在学习Vue.js.版本是2.6,webpack的版本也相对较老,是2.1.0版本.项目脚手架只配置了npm run dev和npm run build. ...
- 项目支持Servlet3.0的新特性
一.Servlet3.0介绍 Servlet3.0是Java EE6规范的一部分,Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述 ...
- 让自己的开源项目支持CocoaPods
测试的时候找个自己封装的方法或UI控件就可以了 这里用我刚封装的Redirect重定向的请求体为例 1, 在github上创建一个Redirect,重要:记得选择开源协议 (MIT)(如果木有GitH ...
- 转换基于Maven的Java项目支持Eclipse IDE
在过去的教程中,使用 Maven 创建了一个Java项目,但是这个项目不能导入到Eclipse IDE中,因为它不是 Eclipse 风格的项目. 这里有一个指南,向您演示如何转换 Maven 生成 ...
随机推荐
- 基于jQuery的软键盘
基于jQuery的软键盘 前些天写了一个基于基于jQuery的数字键盘,今天给大家带来一个基于jQuery的全字母键盘插件(支持全字母大小写切换,数字输入,退格清除,关闭功能,可调整大小和键盘位置 ...
- 教程:RSS全文输出,自己动手做。(一)
这里以PHP版为例,尽量说得通俗点吧,水平实在有限,见谅. 目前我这里所有的获取全文输出的网站大概是三种情况: 要输出的内容集中在一页上,也就是看似列表页的页面里集中了你想要的所有内容,并不需要点击“ ...
- MySQL的索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将 ...
- Android EditText方框验证码 短信验证码攻略
本文由xiawe_i提供. xiawe_i的博客地址是: http://www.jianshu.com/u/fa9f03a240c6 项目中有这样一个需求: 验证码页是四个方框,输入验证码方框颜色改变 ...
- git pull文件时和本地文件冲突的问题
在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten b ...
- map合并,相同键对应的值相加
最近在做统计钱的计算时遇到的一个需求,需要将一个大类别下的每一种钱进行特定的运算然后获得六年的钱,最后将这些钱按照年份进行汇总,获得总得大类型的六年的钱,在这个过程中采用了这种方法,每次算得钱放在ma ...
- Oracle EBS 复制用户职责
DECLARE l_new_user_name ) := 'HAND_HYL'; l_new_password ) :'; l_new_user_id NUMBER; l_user_name_copy ...
- Tomcat6.0下的jsp、servlet和javabean的配置
第一步:下载jdk和tomcat: 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可.1.安装jdk以后,需要配置一下环境变量,在我的电脑- ...
- Linux HugePages 配置与 Oracle 性能关系说明
一. HugePages 说明 1.1 HugePages 介绍 HugePages is a feature integrated into the Linux kernel with relea ...
- django项目设计
我们以前是只建立一个项目只建立一个app,如果我们要建立多个app的时候 并且这个app要写很多额视图的函数views内函数,要是建立很多种的时候就会造成很冗杂,不美观 我们未来增强解耦性,就把那个 ...