firebase - 在没有 Cocoapods 的情况下集成 Firebase 时出现构建编译错误 [Obj-C]
问题描述
我想在 Obj-C 中的 iOS 应用程序中集成没有 cocoapods 的 Firebase。我已经下载了包含所有 xcframeworks 和框架文件的 firebase zip 文件。我正在尝试使用我的应用程序实现 Firebase Analytics。
我浏览了 Readme.md 文件并按照步骤将 Firebase 与项目集成。
我已经添加了“Firebase Analytics”下提到的所有必需的 .xcframework 和 .framework 文件,并确保我勾选了“如果需要则复制项目”并选择了我的项目的“目标”。
在此之后,我以相同的方式添加了“Firebase.h”头文件,并且还在“构建设置->链接->其他链接器标志”下包含了“-ObjC”标签,但即使在我构建时执行所有这些步骤我的应用程序我收到以下错误:
ld: warning: Could not find or use auto-linked framework 'FBLPromises'
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SKProductsRequest", referenced from:
objc-class-ref in GoogleAppMeasurement(APMProductsRequest_9ec051498f83cad93a58cf3f308ab9b6.o)
"_sqlite3_errmsg", referenced from:
-[APMSqliteStore lastErrorMessage] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_bind_blob", referenced from:
___47-[APMSqliteStore bindValues:toStatement:error:]_block_invoke in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_bind_double", referenced from:
___47-[APMSqliteStore bindValues:toStatement:error:]_block_invoke in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_bind_text", referenced from:
___47-[APMSqliteStore bindValues:toStatement:error:]_block_invoke in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_bind_int64", referenced from:
___47-[APMSqliteStore bindValues:toStatement:error:]_block_invoke in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_column_int64", referenced from:
-[APMSqliteStore valueAtColumn:forStatement:] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_column_double", referenced from:
-[APMSqliteStore valueAtColumn:forStatement:] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_column_bytes", referenced from:
-[APMSqliteStore valueAtColumn:forStatement:] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_prepare_v2", referenced from:
-[APMSqliteStore prepareSQL:error:] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
"_sqlite3_changes", referenced from:
-[APMSqliteStore deleteRecordsFromTableWithName:condition:parameterValues:error:] in GoogleAppMeasurement(APMSqliteStore_4b93d70f10ae469a3a03d3a4cf33073f.o)
这是我的系统配置:
1. Mac OS: MacOS Mojave[10.14.6]
2. Xcode Version: 11.3.1
3. Deployment Target: 11.3
谁能帮助我在成功运行它需要完成的配置中缺少什么?
解决方案
根据您从中获得依赖项的位置,还应该在其中包含一个PromisesObjc.framework
文件。您只需将此框架拖入 Xcode 的框架、库和嵌入式内容部分,它就会编译。如果你没有这个,你需要下载 FBLPromises 框架并自己嵌入。
如果您选择使用 Carthage 或 CocoaPods,它将为您收集此依赖项,但它可能在您提到的依赖项列表中。
推荐阅读
- cassandra - 插入 Cassandra 未设置单元格会创建墓碑吗?
- c# - 在bot framework v4中,如何实现带有评论框和提交按钮的评分卡
- angular - ERR_FILE_NOT_FOUND(file:///android_asset/www/index.htm) & ERR_CONNECTION_REFUSED(http://localhost/)
- python - matplotlib,重新安装后每个文本都是粗体
- javascript - Vue JS 自定义插件道具未更新
- javascript - Angular - 如何从函数中获取参数,并将其用作变量名来做某事?
- c# - “无法从 SOAP 信封中剥离有效负载”使用 ParkSquare.SoapClient
- windows - 转储 W32pServiceTable
- kubernetes - Kubernetes角色隐藏master
- python - numpy 中的大内存分配