一段时间以来,我们一直在从 CocoaPods 迁移,但并不是每个依赖项都进行了转换。像火力基地。
我有一个关于重复符号的类似问题,但现在我面临一些新问题,这可能是因为我在 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的文档和一个关于类似崩溃的GitHub 问题。但是除了降级之外,似乎没有任何方法可以解决此崩溃。
我上传了一个示例项目:https ://github.com/basvankuijck/SampleProjectFirebaseCrash 。
删除 SwiftPM Promises 依赖项不是一种选择,因为实际项目正在使用对 Promises 具有依赖项的 SwiftPM 依赖项。
Podfile没有什么花哨的,SampleProject 只使用一个 SwiftPM 依赖项。
有谁知道如何让 SwiftPM 和 CocoaPods 很好地协同工作,尤其是中间的 Firebase?