美文网首页
Carthage 介绍

Carthage 介绍

作者: 希达like | 来源:发表于2017-12-04 14:54 被阅读0次
  1. 安装carthage
    首先安装brew (Homebrew installs the stuff you need that Apple didn’t) 终端命令行输入:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    其次,升级brew: brew update
    然后,开始安装carthage :brew install carthage
    2.使用carthage
    终端cd到自己的工程目录,运行touch cartfile(新建一个cartfile文件) ,然后在文件中输入:github "Alamofire/Alamofire"(以Alamofire框架为例子),保存退出(esc,:,wq)终端运行carthage update(如果只需要iOS平台的库,可使用carthage update --platform iOS),update结束后发现工程多了cartfile.resolved文件(这个文件是执行carthage update命令后生成的依赖关系)和carthage 文件夹,carthage/checkouts里面是框架的源码,carthage/build里是已经将框架编译成.framework静态库的库文件,iOS/Mac/tvOS/watchOS一应俱全。
    2.集成框架到工程中
    如果是目标工程是 iOS 应用:
    first,将框架导入工程:在 Xcode 的目标应用程序 target 的 General设置标签中的 Linked Frameworks and Libraries 区域,将目标框架从 Carthage.build 文件夹拖拽进去或添加进去。
    second,配置“run script“,方法如下:在 Xcode 的目标应用程序 target 的 Build Phases 添加新脚本 New Run Script Phase 输入内容:/usr/local/bin/carthage copy-frameworks
    input Files处输入为:$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa(库名).framework 对应为原工程目录 / Carthage/Build/iOS/xxx.framework文件。
    3.了解文件
    carfile:文件用来标注你需要哪些依赖库,对应版本或者Git分支(需要提交到Git)
    cartfile.resolved:文件用来跟踪项目当前所用的依赖版本号,为了保持多端开发一致(需要提交到Git)
    carthage:文件夹用来存放依赖库的源文件和编译后的文件(不需要提交到Git,可以修改.gitignore文件,增加忽略carthage文件夹就行了:#carthage carthage)
    4.问答
    1》 最近更新了Xcode8.3,swift语法升级到了3.1,然后一些框架编译报错说框架编译的环境是swift3.0.2,如何解决?
    答:使用这个命令更新框架:carthage update --platform iOS --no-use-binaries 因为添加了 --no-use-binaries 之后就取消carthage预编译框架,转而使用本地环境编译,这样就会适应到本地的swift语言版本,然后把新生成的framework重新拉入项目中
    2》Carthage导入第三方时候会显示编译OSX、Mac、iOS等很耗时,怎样能只选择一种呢?
    答:carthage build --platform iOS
    3》Homebrew
    答:它是一个包管理工具,carthage只是其中的一种工具而已。
    常见命令:
    安装软件:brew install 软件名
    搜索软件:brew search 软件名
    卸载软件:brew uninstall 软件名
    更新所有软件:brew update
    更新具体软件:brew upgrade 软件名
    4》版本号的说明
    ~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9
    == 3.0 表示使用3.0版本

= 3.0表示使用3.0或更高的版本
如果你没有指明版本号,则会自动使用最新的版本
5》打自定义静态库包
答:在项目的根目录里打开终端,运行carthage build --no-skip-current,运行后,会在Carthage/Build/iOS/的目录中生成framework,再用生成的framework和dsym 文件拖到项目中(或替换之前的老的)

相关文章

网友评论

      本文标题:Carthage 介绍

      本文链接:https://www.haomeiwen.com/subject/skpvbxtx.html