在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 'Firebase'”)

Posted

技术标签:

【中文标题】在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 \'Firebase\'”)【英文标题】:Importing Framework that uses Firebase in Swift Playground ("Missing required module 'Firebase'")在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 'Firebase'”) 【发布时间】:2018-07-19 20:05:14 【问题描述】:

我的 ios 应用 "FooApp.xcodeproj" 使用名为 "FooFramework.xcodeproj" 的框架。应用程序和框架都位于单个工作区 ("FooWorkspace.xcworkspace") 中。他们都使用 CocoaPods 来管理依赖关系。除此之外,我的Podfile 看起来像这样:

Link to Podfile

...我的整个工作区结构看起来像这样...

FooFramework.xcodeproj
    FooFramework
        (files)
    FooFrameworkTests
        (files)
    Pods
        (pods)
FooApp.xcodeproj
    FooApp
        (files)
    Pods
        (pods)

我能够构建 FooFramework,将其与 FooApp 链接,并将其导入到 FooApp 中的任何文件中,如下所示:

import FooFramework

我还可以在 FooFrameworkTests 中运行测试,方法是写 FooFrameworkTests.swift:

import XCTest
@testable import FooFramework

// (test code)

所以到目前为止一切正常。接下来,我在我的工作区中添加了一个 Swift Playground

Playground.playground
FooFramework.xcodeproj
    ...
FooApp.xcodeproj
    ...

在 Swift Playground 中,我导入了我的框架(为模拟器构建):

import UIKit
import PlaygroundSupport
import FooFramework // error

我收到错误缺少必需的模块“Firebase”。我也无法在 Playground 中导入 Firebase 本身 - 我收到错误 No such module 'Firebase'。有趣的是,我能够毫无错误地导入FirebaseCoreFirebaseAuth等。

所以看起来我无法在 Playground 中使用 Firebase,无论是单独使用还是在我自己的框架中。为了解决这个问题,我尝试同时导入FooFrameworkFirebaseCore,如this answer 中所述,但无济于事。

如何将使用 Firebase 的框架导入 Playground?感谢您的帮助!

【问题讨论】:

【参考方案1】:

我最终能够通过将 FooFramework 转换为本地 CocoaPod 并将 CocoaPod 导入 Playground 来解决此问题。

【讨论】:

以上是关于在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 'Firebase'”)的主要内容,如果未能解决你的问题,请参考以下文章

在 Playground 的“SupportCode.swift”中导入第 3 方框架

在 Swift Playground 中导入 pod 时出现“没有这样的模块”

无法在 Swift Playground 中导入 tensorflow

在 Nativescript Playground 中导入 npm 包

如何在 xcode 的 Playground 中导入 RxSwift?

在 Swift 框架中导入 CommonCrypto