在 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'。有趣的是,我我能够毫无错误地导入FirebaseCore
、FirebaseAuth
等。
所以看起来我无法在 Playground 中使用 Firebase,无论是单独使用还是在我自己的框架中。为了解决这个问题,我尝试同时导入FooFramework
和FirebaseCore
,如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 包