据说 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的更多相关文章

  1. Carthage 让项目支持及使用,第三方静态库转为动态库

    Carthage介绍 具体使用,可以查看官网的,文档地址 https://github.com/Carthage/Carthage.如果看不懂英文,可以看一下官文的翻译:https://www.jia ...

  2. 让android项目支持boost 支持c++11

    在Application.mk 里增加-D__GLIBC__  让项目支持boost 增加 -std=c++11 让项目支持c++11 (3.x的cocos本身已经支持了的) 看起来这样: APP_S ...

  3. 【抱怨文】vscode对多项目支持不够友好

    vscode是一个简单的开发工具,启动快,速度快.但是当前1.26版本对多项目支持好像有点问题.命令行有个dotnet sln,但是只能添加新项目,却没有创建解决方案的命令.如果强行添加他会提示没有解 ...

  4. CocoaPods学习系列2——使自己的项目支持CocoaPods管理

    该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...

  5. Nuxt项目支持import写法的最新解决方案

    最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法.并提供了解决方案: 1.在package.json中添加我标红的部分: "scripts" ...

  6. Vue老项目支持Webpack打包

    1.老的vue项目支持webpack打包 最近在学习Vue.js.版本是2.6,webpack的版本也相对较老,是2.1.0版本.项目脚手架只配置了npm run dev和npm run build. ...

  7. 项目支持Servlet3.0的新特性

    一.Servlet3.0介绍 Servlet3.0是Java EE6规范的一部分,Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述 ...

  8. 让自己的开源项目支持CocoaPods

    测试的时候找个自己封装的方法或UI控件就可以了 这里用我刚封装的Redirect重定向的请求体为例 1, 在github上创建一个Redirect,重要:记得选择开源协议 (MIT)(如果木有GitH ...

  9. 转换基于Maven的Java项目支持Eclipse IDE

    在过去的教程中,使用 Maven 创建了一个Java项目,但是这个项目不能导入到Eclipse IDE中,因为它不是 Eclipse 风格的项目. 这里有一个指南,向您演示如何转换 Maven 生成 ...

随机推荐

  1. bzoj1061 NOI2018 志愿者招募——solution

    Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能 ...

  2. 解决ie6、ie7下float为right换行的情况

    IE6下有不少奇怪的Bug,今天就碰到一个,float:right换行bug,情况是并列的几个块级元素如div和span,一些设置了左浮动一些设置右浮动,一行的宽度足够放下所有的块级元素,但此时ie6 ...

  3. angular2上传图片

    话不多说,直接写 一.html页面 二.html代码:   <div class="descright"> <div class="clinic-img ...

  4. 当div元素内的内容超出其宽度时,自动隐藏超出的内容

    word-break:keep-all;/* 不换行 */ white-space:nowrap;/* 不换行 */ overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */ te ...

  5. Javaweb查询客户&分页部分代码

    pageBean工具类代码(分页工具) package com.home.domain; import java.util.List; /** * 分页的JavaBean * @author Admi ...

  6. 前端模块化工具--webpack学习心得

    话说前头 webpack前段时间有听说一下,现在已经到了3.x的版本,自己没去接触.因为之前使用gulp来作为自己的项目构建工具.现在感觉gulp使用的趋势在减少.现在这段时间去接触了webpack, ...

  7. opencv图像处理基础 (《OpenCV编程入门--毛星云》学习笔记一---五章)

    #include <QCoreApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...

  8. LeetCode题解之Single Number

    1.题目描述 2.分析 3.代码 int singleNumber(vector<int>& nums) { map<int,int> m; for( vector&l ...

  9. javascript event visualize

    很多时候拿到一个spa,特别是基于jquery的比较复杂的spa时,如果你好奇他是如何工作的,往往没有头绪. 由于spa基本上都是基于事件触发的,一个可行的办法是通过查看事件处理代码能够对spa有一个 ...

  10. Windows 7系统启动MongoDB失败解决办法?

    问题现象: 1.在配置Python环境安装MongoDB时发现在“服务”里面手动启动失败,报错如下: 2.在cmd里面也无法启动,注意这里要以管理员身份启动cmd哦 问题解决: 1.需要先在bin下执 ...