我们已经从CocoaPods迁移了一段时间,但并不是每个依赖项都改变了。Like Firebase。
我曾经遇到过类似的问题regarding duplicate symbols,但现在我遇到了一些新问题,这可能是因为我在SwiftPM和CocoaPods中都使用了依赖项。
在运行我的(示例)项目后,它崩溃了:
-[FBLPromise firebaseInstallationID]: unrecognized selector sent to instance 0x600003f5a430顶部有一条警告:
objc[93047]: Class FBLPromise is implemented in both
/xxx/SampleProject.app/Frameworks/FBLPromises.framework/FBLPromises (0x10b3f09a8) and
/xxx/SampleProject.app/SampleProject (0x10af736f0).
One of the two will be used. Which one is undefined.在我更新到Firebase SDK v6.26.0之前,我只会得到第一个警告,但自从更新之后,它就崩溃了。
我看到了一个关于如何使用Firebase within libraries的文档和一个关于类似崩溃的GitHub issue。但除了降级之外,似乎没有什么能解决这场崩溃。
我上传了一个示例项目:https://github.com/basvankuijck/SampleProjectFirebaseCrash。
删除SwiftPM Promises依赖项是不可行的,因为实际项目使用的是与Promises有依赖关系的SwiftPM依赖项。
Podfile没有那么花哨,而且SampleProject只是使用了one single SwiftPM dependency。
有谁知道如何让SwiftPM和CocoaPods很好地合作,特别是在Firebase的中间?
发布于 2021-04-07 05:31:00
我在使用Firebase和FBLPromise时遇到了完全相同的问题。对我来说,它的出现是因为我在podfile中添加了Firebase/FireStore,但其余的FIrebase依赖项来自SPM。在我的其他SPM依赖中,还有FBLPromise。
要修复它,我必须从SPM中删除Firebase包,然后使用FIrestore和其他我可能需要的依赖项重新添加它。
没有其他的解决方案对我有效。
https://stackoverflow.com/questions/62472870
复制相似问题