ios Carthage
使用CocoaPods来管理第三方框架很多人都知道,相对来说Carthage比较陌生,Carthage也是来管理第三方框架的,既然已经有了Cocoapods为什么还要有Carthage呢?使用Carthage有什么好处呢:
首先,CocoaPods默认会自动创建并更新你的应用程序和所有依赖的Xcode workspace。
Carthage使用xcodebuild
来编译框架的二进制文件,但如何集成它们将交由用户自己判断。
CocoaPods的方法更易于使用,但Carthage更灵活并且是非侵入性的。
通俗来讲Carthage就是帮你把第三方框架编译成.framework库,但是不会集成到你的项目中去,必须手动添加.framework,而CocoaPods会把第三方框架集成到项目中去。
安装步骤:
1.终端安装Carthage命令
brew install carthage
如果你不喜欢使用终端,也可以从网站https://github.com/Carthage/Carthage/releases下载最新版的Carthage.pkg来更新。
查看Carthage版本:
carthage version
2.创建Carthage文件
touch Cartfile
3.添加所需的第三方库
用xcode打开Cartfile:
open -a Xcode Cartfile
添加库:
github "Alamofire/Alamofire" ~> 3.0 github "SwiftyJSON/SwiftyJSON"
版本的含义 ~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9 == 3.0 表示使用3.0版本 >= 3.0表示使用3.0或更高的版本 如果你没有指明版本号,则会自动使用最新的版本
4.下载并编译第三方库
carthage update
如果只需要生成ios库:
carthage update --platform iOS
Carthage会自动在当前文件夹创建一个Carthage文件夹,编译好的的framework就在Carthage/Build下
5.将编译好的framework添加到项目
Linked frameworks and Binaries
动态库还要在项目中general–>Embedded Binaries 中点击+ –>add other –>选中*.framework即可
ios Carthage的更多相关文章
- IOS Carthage安装、使用
一.Carthage的安装和使用1.安装homebrew后输入如下命令 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercont ...
- 包管理工具Carthage使用
iOS项目中第三方开源库的工具有Cocoapods和Carthage,swift官方出了一个包管理工具SPM(Swift Package Manager). 首先,大体讲一下Cocoapods和Car ...
- Cocoa 新的依赖管理工具:Carthage
昨天搞了一下pod的安装 因为之前我都是在使用pod来进行第三方库的管理 但是拿到项目之后 竟发现这个前辈是用Carthage 说真的在这之前我从来没有用过这个玩意因为我感觉用POD已经很好了啊 很方 ...
- Carthage使用
# carthage 包管理 ## 安装过程 1) 安装homebrew ``` ruby$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githu ...
- 使用Carthage管理iOS依赖库
Carthage安装和使用和CocoaPods类似: 1.安装: 终端执行以下命令: $ brew update $ brew install carthage 查看Carthage的版本号: $ c ...
- iOS依赖库管理工具之Carthage
在iOS开发中,我们常会用CocoaPods来进行依赖库的管理.CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成 ...
- iOS - CocoaPods 和 Carthage 的比较
CocoaPods 好处? 开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间 在引入第三方库时它可以自动为我们完成各种各样的配置, ...
- iOS开发进阶 - 使用Carthage管理iOS第三方库
移动端访问不佳,请访问我的个人博客 最近在研究Swift,一不小心发现一个好的的管理iOS第三方库Carthage,就跟第一次使用CocoaPods时一样兴奋不已,在研究了大半天后终于能用了,使用起来 ...
- Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光
说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...
随机推荐
- html5定位getLocation()
HTML5 Geolocation API 用于获得用户的地理位置. 如果用户不允许定位,那么用户信息是不可用的. 获取用户的位置:getCurrentPosition() 返回数据如下 返回用户当前 ...
- C++ 自由存储区是否等价于堆?
"free store" VS "heap" 当我问你C++的内存布局时,你大概会回答: "在C++中,内存区分为5个区,分别是堆.栈.自由存储区.全 ...
- 小猪cms模块继承
TextAction 继承 UserAction 继承 BaseAction 继承 Action TextAction 路径 PigCms\Lib\Action\User UserAction 路径 ...
- Flyout中ComboBox失效
参见这篇文章:https://blogs.msdn.microsoft.com/wsdevsol/2016/09/14/combobox-from-an-appbarbutton-loses-mous ...
- 两个坑-Linux下Network-Manager有线未托管-DNS resolv.conf文件开机被清空
Linux里面有两套管理网络连接的方案: 1./etc/network/interfaces(/etc/init.d/networking) 2.Network-Manager 两套方案是冲突的,不能 ...
- shell命令find
概述 find命令的工作方式:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作. 选项 -print:指明打印出匹配文件的文件名(路径).当使用-print时,'\n'作为用于分隔文件的 ...
- document.documentElement.clientHeight 和 $(window).height() 无法正确获取页面可视区高度
背景: 弹出层插件(自适应) 实现过程中突然发现在获取可视区高度时,无论document.documentElement.clientHeight 还是 $(window).height()都无法正确 ...
- easyUI时间控件 使用
1,时间格式化,分隔符为 “—” // 日期格式化 function myformatter(date){ var y = date.getFullYear(); var m = date.g ...
- 解决nginx使用proxy_pass反向代理时,cookie丢失的问题
1. 如果只是host.端口转换,则cookie不会丢失.例如: location /project { proxy_pass http://127.0.0.1:8080/pr ...
- Angular 之坑??
1. 场景:bootstrap的popup画面中有一个select元素, <select > <option> 1 </option> <option ng- ...