Firebase 与 Swift

Posted

技术标签:

【中文标题】Firebase 与 Swift【英文标题】:Firebase with Swift 【发布时间】:2014-06-07 03:51:37 【问题描述】:

我试图将 firechat-ios 项目移植到 Swift 并遇到了一些问题。我想这可能只是要求 Firebase 人员对他们的 SDK 进行一些更新,但我想我还是会问。添加 Firebase 及其依赖项后,我无法成功构建项目。

我收到警告:

ignoring file /Users/n/Projects/SwiftChat/Firebase.framework/Firebase, missing required architecture x86_64 in file /Users/n/Projects/SwiftChat/Firebase.framework/Firebase (3 slices)

还有两个错误:

“_OBJC_CLASS_$_Firebase”,引用自: __TFC9SwiftChat14ViewControllercfMS0_FT7nibNameGSQSS_6bundleGSQCSo8NSBundle__S0_ in ViewController.o

链接器命令失败,退出代码为 1(使用 -v 查看调用)

有什么想法吗?

【问题讨论】:

有a thread on the mailing list that may help。 Joe 通过创建一个“桥接头”来包装 Firebase.h,以便在没有所需的构建设置的情况下将其包含在 swift 中,这还不是 Firebase SDK 的一部分。 这正是我所做的。嗯,我要再试一次,看看能不能让它发挥作用。 ...该线程上还有一个人报告了与我相同的问题(现在我不觉得很愚蠢):) 【参考方案1】:

我设法让它工作。事实证明,firebase 网站上解释要包含哪些依赖项的视频已过时。我进一步阅读了页面,发现 firebase 实际上需要我缺少的两个依赖项。添加libc++.dyliblibiucore.dylibCFNetwork.frameworkSecurity.frameworkSystemConfiguration.framework 后一切正常。

【讨论】:

干得好!请考虑将您的发现也添加到邮件列表中,这样我就不必抄袭了:) 依赖列表已更新:firebase.com/docs/ios/alternate-setup.html【参考方案2】:

您可以尝试在 Projects: Build Settings: Valid Architectures 下暂时删除 arm64。

这不应被视为永久解决方案,但可能会在 Firebase 更新其 SDK 之前帮助您。

【讨论】:

缺少的架构不是arm64,而是x86_64,可能是模拟器而不是真机。 公平点。在这种情况下,在真实设备上构建并且只构建活动架构应该可以解决它。当然,这需要运行 iOS 8 的设备。

以上是关于Firebase 与 Swift的主要内容,如果未能解决你的问题,请参考以下文章

Swift Firebase:带有 .childAdded 的 UIRefreshControl

Swift Firebase - 如何更新多个参考的值?

Swift Firebase:无法在 fileURL 中存储 _SwiftValue 类型的对象

在同一个 uitableview 中显示两个不同的自定义单元格 - swift firebase

Swift Firebase 函数错误:NSCocoaErrorDomain

Swift Firebase 快照查询缺少孩子