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++.dylib
、libiucore.dylib
、CFNetwork.framework
、Security.framework
和SystemConfiguration.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:无法在 fileURL 中存储 _SwiftValue 类型的对象
在同一个 uitableview 中显示两个不同的自定义单元格 - swift firebase