Xcode 使用 Firebase 编译错误

Posted

技术标签:

【中文标题】Xcode 使用 Firebase 编译错误【英文标题】:Xcode compile error with Firebase 【发布时间】:2016-01-29 23:14:00 【问题描述】:

我刚刚将 Firebase 框架安装到 Xcode(由于其他无法解决的问题而没有使用 CocoaPods)。我按照here 的 Firebase Alternative Setup 说明进行操作(手动将 FireBase 2.5 框架拖到我的项目中)。

问题是,当我编译我的应用程序时,我得到 27 个错误: screenshot

我只是使用入门页面中的示例代码。

事实上,到目前为止,我只使用了第一行,但它甚至不会实例化它。 (var ref = Firebase(url:"my firebase URL here")

我使用的是 Xcode 7.2 和 Swift 2.1。我的目标是使用模拟器的 ios 9.2。

请帮忙! 谢谢。

PS。 我还应该补充一点,libicucore.dylib 和 libc++.dylib 似乎不再可用作您提到的可链接库,包括来自 firebase.com/docs/ios/alternate-setup.html 所以也许这是相关的?有人提到 libz.tbd 是现在使用的那个? (我正在使用)

【问题讨论】:

您是否仍需要在文件顶部包含导入语句才能使这些类型可用? 嗨,迈克,是的,我正在使用 import Firebase。 错误似乎与“架构 x86_64 的未定义符号”有关? 你是否也添加了这些库:libicucore.dylib、libc++.dylib、CFNetwork.framework、Security.framework、SystemConfiguration.framework 我不肯定,但我相信 libz.tbd 是现在可以使用的。或者可能是 libs.qlite 【参考方案1】:

如果您的目标是 9.2,则框架更改为以下内容:

libicucore.dylib 到 libicucore.tbd

libc++.dylib 到 libc++.tbd

它们完全相同,因此请改用它们,您必须使用它们才能使其正常工作。

苹果的评论:

对于那些好奇的人,.tbd 文件是新的“基于文本的存根” 库”,它提供了一个更紧凑的存根版本 在 SDK 中使用的库,并有助于显着减少其 下载大小。

【讨论】:

谢谢!做到了。 Firebase 应该更新 firebase.com/docs/ios/alternate-setup.html 来为 Xcode 7.2 用户指定 .tbd 文件 - 可以为我节省 2 小时 ;) 再次感谢! 哈哈是的,这很烦人,有人应该在 github 上提出拉取请求,也许已经有一个。但我很高兴它对你有用:)!

以上是关于Xcode 使用 Firebase 编译错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS11+Xcode9适配踩坑大全(下拉刷新,编译错误, Swift第三方等)

转iOS开发------使用Xcode编译器定位抛出异常的位置 -- 不错不错!!!

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题