【问题标题】:Including a local Cocoapod framework as a dependency包含本地 Cocoapod 框架作为依赖项
【发布时间】:2018-07-17 08:17:35
【问题描述】:

我已经使用过 Carthage,并且正在尝试了解如何在 Cocoapods 中做同样的事情。基本上我有一个依赖于另一个框架的核心框架。在开发 Core 时,我可以使用

git "file:///pathtodependencyframework" "development-branch"

在 Cocoapods 中,我想先了解如何在本地引用这个框架。我尝试在“项目链接”部分下添加它

s.framework = "DependencyFramework", :path => '~/pathtodependencyframework'

但我明白了,failed to load podspec. File: syntax error, unexpected =>, expecting key word_end

我还看到有一个Project Settings s.dependency。引用在 Cocoapods 中本地与 Carthage 一起使用的依赖框架的正确方法是什么?依赖框架本身是否需要 podspec?目前它没有,因为迦太基不需要它。

其次,一旦我准备好发布并放在 Github 上,建议的解决方案将如何变化?

【问题讨论】:

    标签: ios swift cocoapods


    【解决方案1】:

    您不能将本地 pod 作为依赖项添加到本地 pod。看看this issue

    您可以将 DependencyFramework 添加为子规范,并将其作为依赖项添加到 Core 子规范:

       s.subspec 'DependencyFramework' do |df|
           df.source_files = "DependencyFramework/**/*.swift"
       end
    
       s.subspec 'Core' do |core|
           core.source_files = "Core/**/*.swift"
           core.dependency 'Core/DependencyFramework'
       end
    

    所以你只需要 1 个 podpec。

    当你把这个库放到 Github 上时,你需要发布 pod(请参考 documentation 的发布部分)。 pod 发布后,您可以简单地添加它而无需提及本地路径:pod 'MyLib/Core'

    请注意,如果您的框架具有 cocoapods 依赖项并且您希望将其与 carthage 一起使用,则可能存在具有依赖项的 some problems

    【讨论】:

      猜你喜欢
      • 2021-09-08
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 2021-02-20
      • 1970-01-01
      • 2022-01-17
      • 2018-07-19
      相关资源
      最近更新 更多