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中资源有resourcesresource_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与使用过程中遇到的问题相关推荐

  1. 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec

    2019独角兽企业重金招聘Python工程师标准>>> 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec Cocoapods简介 ...

  2. 最新cocoapods安装流程,安装过程中遇到的问题及解决方法

    最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...

  3. (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  4. 总结一下在使用某里云服务器的过程中出现过的一些问题

    此文总结在使用阿里云的过程中出现过的问题   想起来就记录一下 本人为言行负责! 海内选择腾讯华为,共勉! k8s不同命名空间的配置文件串掉了 k8s集群服务器购买上后,无法使用外网.连续购买了4台然 ...

  5. OpenCV 相机校正过程中,calibrateCamera函数projectPoints函数的重投影误差的分析

    OpenCV 校正过程中,calibrateCamera函数的ret和重投影误差的分析 OpenCV对相机进行校正的过程中,校正返回值retval和重投影误差的计算公式表示和分析. OpenCV 校正 ...

  6. 理解YOLOv2训练过程中输出参数含义

    转载自https://blog.csdn.net/dcrmg/article/details/78565440 原英文地址: https://timebutt.github.io/static/und ...

  7. 计算机视觉:Bag of words算法实现过程中出现错误及解决方案

    Bag of words算法实现过程中出现错误及解决方案 出现的问题 IndexError: list index out of range OSError:x.sift not found sqli ...

  8. as安装过程中gradle_柯赛分享:楼顶大字安装过程中需要用到哪些工具?

    经过前面一系列标识行业常识和制作工艺相关知识的分享,我们知道楼顶大字是标识行业下属的一个重要分支产品类别,也明白了楼顶大字主要制作材料是金属的,尺寸和自重都比较大,运输安装过程相对复杂,安装施工的难度 ...

  9. C++中stl使用过程中的一些tips

    该博文整理一些在使用stl编程过程中遇到的小经验: 1.在多线程环境下面打印调试,如何使用cout及时刷新到屏幕上? 在C中我们经常这样使用: printf("Hello World\n&q ...

最新文章

  1. display:none与visible:hidden的区别
  2. 受控组件和不受控组件的区别
  3. 去哪编辑html5页面,h5页面 判断网页在哪打开
  4. sql 触发器的常用语句(转)
  5. .NET 6 Preview 3 中 ASP.NET Core 的更新和改进
  6. Java Swing井字游戏
  7. arm workbench ide 用户指南_ARM_异常和中断
  8. Masterlab 1.1 发布,基于敏捷开发的项目管理工具
  9. SharePoint 2010 technology stack
  10. 【廖雪峰官方网站/Java教程】Maven基础
  11. Viscosity for Mac(好用的Open客户端)
  12. 01 Python基础
  13. 《2015年中国公有云服务发展报告》跋
  14. 高级售后客户服务处理专员题库
  15. photoshop技巧分享:psd格式批量转换jpg格式一键完成
  16. LearnOpenCV学习——平均脸
  17. 传奇服务器注册不了账号密码,登录器显示服务器状态良好,但不能注册帐号?...
  18. pytest学习:setup、teardown、setup_class、teardown_class的区别
  19. swfobject1.5
  20. 25.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1)

热门文章

  1. 马云用大数据力证女性让世界更美好
  2. 中安财报影像识别系统V2.0,为您摘下“紧箍咒
  3. 如何用机器学习识别猫叫和狗叫声?
  4. 每日新闻:AI落地元年来了;中兴通讯5G最新播报;李彦宏对未来20年的手机发展这样看;恒大健康与FF宣布和解...
  5. 精读4:一个和钱打交道的数据分析行业
  6. 爆炸的符卡洋洋洒洒题解报告
  7. F2FS数据块寻址(linux5.18.11)
  8. 【雷达通信】滤波及数据融合【滤波包括了常增益滤波、卡尔曼(Kalman)滤波和扩展卡尔曼滤波(EKF) 数据融合采用BC和CC两种,基于KF和EKF实现】(Matlab代码实现)
  9. 6个“纽扣”卖2600 索尼动捕设备要捕捉谁?
  10. CasePlayer2