包括本地Cocoapod框架作为依赖

时间:2018-02-07 06:09:57

标签: ios swift cocoapods

我曾经使用过迦太基,并试图了解如何在Cocoapods中做同样的事情。基本上我有一个依赖于另一个框架的Core框架。在开发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上,建议的解决方案将如何改变?

1 个答案:

答案 0 :(得分:0)

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

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

   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依赖项。