【问题标题】:CocoaPods - A custom dynamic framework - cannot get the latest version of frameworksCocoaPods - 自定义动态框架 - 无法获取最新版本的框架
【发布时间】:2017-03-27 07:21:26
【问题描述】:

我在 Xcode 中的项目由静态框架和一个自定义动态框架组成。这个动态框架包括一些其他的静态框架。 当我尝试编译自定义动态框架本身时,一切都很好。我能够通过强制 pod 定义文件来强制安装最新版本的框架(Alamofire、Realm 等)

platform :ios, '9.0'

但是当我编译我的项目时,即使我使用上面的行,我也会得到旧的框架。 当我尝试强制 pod 使用显式版本时,

pod 'Alamofire', '~> 4.4.0'

获取版本 3.5.1。 是否有任何其他显式设置可以强制 CocoaPods 在版本中更准确? 原来动态框架的项目是为 Swift 2.3 版本做的,实际上需要 Alamofire 3.5.1 版本。

任何帮助将不胜感激。

【问题讨论】:

  • 您是在做pod install 还是pod update?编辑您的Podfile.lock 并删除那里的版本,将其从Pods 文件夹以及您的项目中删除,然后制作pod install
  • @Vive 都试过了
  • 也许你克隆的 Pod 仓库没有更新。尝试sudo rm -fr ~/Library/Caches/CocoaPods/ 然后sudo rm -fr ~/.cocoapods/repos/master/ 然后sudo rm -fr Pods/ 并再次尝试在您的项目中重新安装 pod。
  • @Vive Thanx,我试过了,但还是一样。

标签: ios swift xcode cocoapods ios-frameworks


【解决方案1】:

也许在您的 podfile 中尝试以下操作:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '4.4.0'

这将绕过您的本地规范存储库并直接从 git 获取。

【讨论】:

  • 谢谢,但这种情况有点复杂,而且这个解决方案在我的情况下不起作用,你实际上绑定了两个 pod 文件,一个在项目级别,第二个在动态库级别。
【解决方案2】:

您当前在您的机器上安装了哪个版本的 CocoaPods?最初在项目中建立 Pod 使用的是哪个版本?我在更新 CocoaPods 时发现了一个问题,即 pod update 无法正常工作,仅删除 Podfile.lockPods/ 目录不足以解决问题。

也就是说我会做以下事情:

  • 将 CocoaPods 更新到最新版本
  • pod repo update 了解最新的 Pod 规格
  • pod deintegrate 从项目中完全移除 Pods
  • pod install 在项目中重新创建 Pods

【讨论】:

    【解决方案3】:

    解决方案有点棘手。一开始我并没有意识到动态框架下的pod实际上并不能直接从顶级项目执行,并且有一个配置JSON文件,它实际上是在管理动态框架下的pod。 所以 pod 版本实际上是在那里硬编码的。

    【讨论】:

      猜你喜欢
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2014-11-07
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多