如何通过Xcode中的自定义框架访问cocoapods

时间:2019-04-19 03:15:32

标签: ios swift frameworks cocoapods workspace

我们的项目发展迅速,因此我们将功能分为框架,但是 我在编译时遇到了一些问题。

您看到的,我们有一个主项目,用于存储业务逻辑,并且我们计划创建一个单独的分析框架,该框架可以处理所有“分析逻辑”。顺便说一句,我们在主项目中也有Cocoapods作为依赖管理器。

所以我做了以下事情:

  1. 创建了一个名为 MyAnalytics 的新的Cocoa Touch框架,该框架现在包含了我主项目中以前与分析相关的所有类。
  2. 如下图所示,将新文件(又名MyAnalytics.xcodeproj)添加到我的主项目中。

enter image description here

  1. 问题是,当我尝试构建Analytics Framework时,在编译时出现错误,我的类无法从Cocoapods中导入模块。

    enter image description here

那么,您知道我应该遵循哪些步骤来编译和运行该项目吗?

因为您可以看到,我正计划使用我的Main Project的目标来生成Pod,但是对于其他自定义框架,pod应该是“可见的”。

还是应该为每个Cocoa Touch Framework安装Cocoapods?

顺便说一句,这是位于我的Main Project目录中的Podfile。

# Uncomment the next line to define a global platform for your project
platform :ios, '11'

inhibit_all_warnings!

target 'MainProject' do
  use_frameworks!
  /**My Pods**/
end

end

1 个答案:

答案 0 :(得分:0)

您可能还需要为Framework目标安装pod,方法是在podfile中添加另一个目标,然后在其中也添加pod内容:

platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!

def shared_pods 
pod 'A'
end

target 'MainProject' do
  use_frameworks!
  shared_pods
end

target 'Framework' do
  use_frameworks!
  shared_pods //Or just the required pod
end