如何解决错误 - 主项目和内部 pod 中使用的私有框架没有这样的模块“框架”?

问题描述

我们有内部框架(我们称之为可测试)作为应用程序项目的目标。 Testable 用于 Application 项目的多个目标中,出于一系列原因,我们不想将其提取到单独的 repo。所以我们的设置如下:

Workspace(App)
    - Application Project
        - Testable Framework
        - Tests for Testable (uses Testable)
        - Other Internal framework (uses Testable)
        - Tests for Other internal Framework (use Testable)
        - Application 1 (use Testable)
        - Tests for Application 1 (use Testable)
        - Application 2 (use Testable)
        - Tests for Application 2 (use Testable)
        … Other targets
    - Pods Project
        … pods targets

接下来,我们引入了新的内部框架(我们称之为 Science)作为它自己的存储库中的一个单独项目。科学项目存储在 App 附近,并使用 :path => ‘relative path to project’. 的 Testable。 设置如下:

Workspace(Science)
    - Science Project
        - Science Framework (uses Testable)
        - Tests for Science Framework
    - Pods Project
        Testable as -> pod 'Testable',:path => ‘../App/Testable'

文件夹结构:

Project Folder
    - App Folder
        - Testable Folder
    - Science Folder

Science.podspec:

Pod::Spec.new do |s|
  s.name             = ‘Science'
  s.version          = '0.1'
  s.summary          = 'Some Summary’


  s.description      = <<-DESC
    Some description
                       DESC

  s.homepage         = 'https://github.com/‘
  s.license          = { :type => 'MIT',:text => <<-LICENSE
    TEXT OF LICENSE
    LICENSE
                       }
  s.author           = { ‘Author’ => 'aa@bb.cc’ }
  s.source           = { :git => 'https://github.com/..’,:tag => "v#{s.version}" }

  s.source_files     = '**/*.swift'
  s.frameworks       = 'Testable'

  s.platform         = :osx
  s.osx.deployment_target = '11.0'

end

步骤

  1. 我们通过以下方式将科学框架连接到应用的工作区:
 pod ’Science’,:git => ‘url to git repo’,:tag => ‘some tag’
  1. 我们做了 pod install 并成功完成
  2. 我们从 Workspace(App) 运行构建应用程序 1

预期

我们期望成功构建应用程序 1。因此,Science Pod 和 Workspace(App) 中的所有其他目标正确解决了可测试依赖

实际

Swift 编译器错误:没有为 Science Pod *.swift 文件中的每个 import Testable 显示这样的模块“Testable”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...