Carthage的Cartfile和Cartfile.resolved文件
来源:互联网 发布:wps表格怎么改数据 编辑:程序博客网 时间:2024/06/03 19:47
Cartfile文件存储的是当前你想要更新的代码地址,利用carthage.update更新的是这个文件内的代码地址。
Cartfile.resolved内容是当你更新了carthage update之后,根据Cartfile的文件内容生成Cartfile.resolved的内容。执行carthage bootstrap更新当前Cartfile.resolved。
Cartfile.resolved一定是和当前代码所匹配的文件。如果你更新了Cartfile文件得某个代码地址,而你执行的指令是carthage bootstrap,依然不会更新你刚刚在Cartfile更改的那个分支代码地址。只有使用carthage update才会更新你刚才的更改。
源码调试技巧:
当在A工程中想要脱离某个工程B的framework二进制依赖,而使用源码调试,这样做:
下载B工程一份源码,然后将A工程中B.framework移除掉,再拖B工程源码最外层的B.xcodeproj到A工程内部,注意此时B工程源码最外层的B.xcodeproj是一个framework,当单独编译这个最外层的B.xcodeproj只是编译成一个framework,并不会生成app,因为只需要调试,而不是单独运行B.xcodeproj,所以不需要打开内部的universal的B.xcodeproj工程。然后接着在A工程的target中,点击target,在右侧的Target Dependence中添加B.framework,接着在link Binary With Libraries中添加B.framework,最后在Embed Framework中添加B.framework。这样就可以build成功,进行源码调试。
分析外层A.xcodeproj和内层universal-iphone的区别与结构,以及需要注意的:
1.外层A.xcodeproj只是一个单独的源码,进行编译也只会生成一个framework,因为外层的target目标生成就是一个framework。外层的carthage管理的二进制framework或者源码库,只是生成framework所需要依赖的,支持生成framework而存在的。
2.内层的源码universal-iphone其实target是一个.app,所以当运行的时候会生成一个可调试的app。但是想要运行成功,会依赖很多framework。
首先要看到,外层的源码A.xcodeproj现在是内嵌在这里的,外层的源码要编译成一个framework再添加到.app中,那么注意这个现在外层源码嵌入在这里的时候,需要点击工程的Target,然后再点击Target Dependence添加name.framework,接着在link Binary With Libraries中添加name.framework,最后在Embed Framework中添加name.framework,关联不起来,这个和拖源码调试一个道理。
3.内层源码下面framework文件中许多各种各样的.framework,这些是由内层universal-iphone的carthage文件所管理生成的,其实这些也都是辅助生成.app的,只不过都已经提前编译好的。和嵌进来的源码不一样A.xcodeproj,嵌入进来的因为是源码所以就需要编译后再通过。
4.在开发过程中,如果遇到某个库的文件报错,例如在universal-iphone外层中嵌入了两个源码库,B.xcodeproj工程和C.xcodeproj,当运行时候D.framework的某个文件[DCustomView show]报错,说这个show方法不能识别报错,这个时候可以去查看下B.xcodeproj的外层carthage文件的D.framework版本号是否和D.framework的外层carthage文件的D.framework版本号一致,很有可能因为不一致所引发的问题。
具体问题具体分析。多遇到问题多解决问题。
- Carthage的Cartfile和Cartfile.resolved文件
- Carthage的安装和使用
- Carthage的简单安装和使用
- iOS开发 cocoaPod和Carthage的安装与使用
- swift项目-让自己的项目支持cocoapod和carthage
- Carthage的安装使用
- Carthage的使用
- Carthage的使用
- carthage的使用
- Carthage
- Carthage
- Carthage使用心得-让自己的项目支持Carthage
- Carthage使用心得-让自己的项目支持Carthage
- Carthage使用心得-让自己的项目支持Carthage
- [绍棠] Carthage使用心得-让自己的项目支持Carthage
- Carthage 使用 / 如何给自己的项目添加 Carthage 支持
- Carthage安装和使用笔记 by STP
- Cocoa 新的依赖管理工具:Carthage
- 利用数据库的存储过程批量建表和批量插入数据
- Mybatis 多条件查询(模糊查询 使用in查询)
- Java异常分类
- 使用IDEA构建 spring +mybatis+db2 基于xml 配置 非maven
- kafka源码分析
- Carthage的Cartfile和Cartfile.resolved文件
- redis爬坑记二) redis的数据类型
- Spirngboot项目整合slf4j-log4j进行日志管理
- JVM基本结构
- CentOS下安装JDK的三种方法
- shiro学习一:使方法注解失效
- python解析xml
- python+selelnium打开和关闭浏览器
- 句柄概念