Cocoapods:podspec与使用过程中遇到的问题
Cocoapods:podspec与问题
在实际使用中,遇到一些疑问,记录下来
use_frameworks!
为啥要在CocoaPods中使用 use_frameworks!
,参考:
- Why do we use use_frameworks! in CocoaPods?
use_frameworks!
tells CocoaPods that you want to use Frameworks instead of Static Libraries. Since Swift does not support Static Libraries you have to use frameworks.
use_frameworks!
是告知CocoaPods使用Frameworks,而不是静态库。原因是Swift,不支持静态库,所以不得不使用frameworks
然而在Xcode 9 beta 4,CocoaPods 1.5.0,Swift静态库被支持了。参考:
- Please support static libraries for Swift
- CocoaPods 1.5.0 — Swift Static Libraries
- use_frameworks!的作用、静态库与动态库、tbd
资源
在组件中如何使用图片资源,目前看到的有2种方式
- 一种是直接将图片资源放到
Assets
目录下 - 一种是将图片放到assets中
podspec中资源有resources
和resource_bundles
的区别,可参考:
- 关于 Pod 库的资源引用 resource_bundles or resources
pod引用的方式
指定pod的来源,有很多的方式,可参考:
- Cocoapods基础使用
- What is a Podfile?
例如,指定为git:
# pod git 上master分支的版本
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git'# pod dev分支的版本库
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'dev'# pod 指定tag的库
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.1.1'# pod 指定commit号版本
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :commit => '0f506b1c45'
假如可以从其它来源,例如http请求,获取到podspec
pod 'JSONKit', :podspec => 'https://example.com/JSONKit.podspec'
在开发的时候可以使用本地的podspec文件
pod 'xxxx', :path => '/Users/xxxx/xxxx/xxxx/xxxxx.podspec'
问题
1.The ‘xxxxx’ target has transitive dependencies that include static binaries
关于动态库依赖静态库的问题,可能会遇到上面的问题,原因与解决方案,可参考:
- The ‘Pods-Tatget’ target has transitive dependencies that include static binaries
- cocoapods的静态库和动态库
- CocoaPods 动/静态库混用封装组件化
Cocoapods:podspec与使用过程中遇到的问题相关推荐
- 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec
2019独角兽企业重金招聘Python工程师标准>>> 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec Cocoapods简介 ...
- 最新cocoapods安装流程,安装过程中遇到的问题及解决方法
最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...
- (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...
- 总结一下在使用某里云服务器的过程中出现过的一些问题
此文总结在使用阿里云的过程中出现过的问题 想起来就记录一下 本人为言行负责! 海内选择腾讯华为,共勉! k8s不同命名空间的配置文件串掉了 k8s集群服务器购买上后,无法使用外网.连续购买了4台然 ...
- OpenCV 相机校正过程中,calibrateCamera函数projectPoints函数的重投影误差的分析
OpenCV 校正过程中,calibrateCamera函数的ret和重投影误差的分析 OpenCV对相机进行校正的过程中,校正返回值retval和重投影误差的计算公式表示和分析. OpenCV 校正 ...
- 理解YOLOv2训练过程中输出参数含义
转载自https://blog.csdn.net/dcrmg/article/details/78565440 原英文地址: https://timebutt.github.io/static/und ...
- 计算机视觉:Bag of words算法实现过程中出现错误及解决方案
Bag of words算法实现过程中出现错误及解决方案 出现的问题 IndexError: list index out of range OSError:x.sift not found sqli ...
- as安装过程中gradle_柯赛分享:楼顶大字安装过程中需要用到哪些工具?
经过前面一系列标识行业常识和制作工艺相关知识的分享,我们知道楼顶大字是标识行业下属的一个重要分支产品类别,也明白了楼顶大字主要制作材料是金属的,尺寸和自重都比较大,运输安装过程相对复杂,安装施工的难度 ...
- C++中stl使用过程中的一些tips
该博文整理一些在使用stl编程过程中遇到的小经验: 1.在多线程环境下面打印调试,如何使用cout及时刷新到屏幕上? 在C中我们经常这样使用: printf("Hello World\n&q ...
最新文章
- display:none与visible:hidden的区别
- 受控组件和不受控组件的区别
- 去哪编辑html5页面,h5页面 判断网页在哪打开
- sql 触发器的常用语句(转)
- .NET 6 Preview 3 中 ASP.NET Core 的更新和改进
- Java Swing井字游戏
- arm workbench ide 用户指南_ARM_异常和中断
- Masterlab 1.1 发布,基于敏捷开发的项目管理工具
- SharePoint 2010 technology stack
- 【廖雪峰官方网站/Java教程】Maven基础
- Viscosity for Mac(好用的Open客户端)
- 01 Python基础
- 《2015年中国公有云服务发展报告》跋
- 高级售后客户服务处理专员题库
- photoshop技巧分享:psd格式批量转换jpg格式一键完成
- LearnOpenCV学习——平均脸
- 传奇服务器注册不了账号密码,登录器显示服务器状态良好,但不能注册帐号?...
- pytest学习:setup、teardown、setup_class、teardown_class的区别
- swfobject1.5
- 25.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1)
热门文章
- 马云用大数据力证女性让世界更美好
- 中安财报影像识别系统V2.0,为您摘下“紧箍咒
- 如何用机器学习识别猫叫和狗叫声?
- 每日新闻:AI落地元年来了;中兴通讯5G最新播报;李彦宏对未来20年的手机发展这样看;恒大健康与FF宣布和解...
- 精读4:一个和钱打交道的数据分析行业
- 爆炸的符卡洋洋洒洒题解报告
- F2FS数据块寻址(linux5.18.11)
- 【雷达通信】滤波及数据融合【滤波包括了常增益滤波、卡尔曼(Kalman)滤波和扩展卡尔曼滤波(EKF) 数据融合采用BC和CC两种,基于KF和EKF实现】(Matlab代码实现)
- 6个“纽扣”卖2600 索尼动捕设备要捕捉谁?
- CasePlayer2