未找到框架 FBLPromises(Swift 包管理器)

Framework not found FBLPromises (Swift Package Manager)

我在其他地方看到过这个问题,但它似乎总是与 Firebase 的 Cocoapods 安装有关。我的问题恰恰相反——尝试从 pods 升级到 SPM 时,我在尝试编译时遇到了这个问题:

ld: framework not found FBLPromises

我目前 运行 Xcode 13.3 在带有 M1 芯片的 Mac Mini 上,但问题出现在 Xcode 的早期版本中。

之前我通过 SPM 安装了磁盘 (https://github.com/saoudrizwan/Disk),通过 Cocoapods 安装了 Firebase/Messaging 和 Twilio (5.5.1)。我 运行 pod cleanpod deintegrate,删除了所有 Pod 文件等,并使用 SPM 安装了 Twilio 和 Firebase Messaging。这为我提供了以下包依赖项(您可以看到 Promises 2.0.0 已成功添加):

当我调查这个时,我得到的最高结果是 FBLPromises Framework not found,第二个答案建议将 arm64 添加为排除架构,但这样做会给我带来更多问题(下面的警告和错误),我我宁愿不盲目地排除一个架构,然后在它可能不是我原来问题的解决方案时陷入试图修复它的困境。

尝试排除 arm64 架构时出现警告和错误:

None of the architectures in ARCHS (arm64) are valid. Consider setting ARCHS to $(ARCHS_STANDARD) or updating it to include at least one value from VALID_ARCHS (arm64, arm64e, armv7, armv7s) which is not in EXCLUDED_ARCHS (arm64).

error: Build input file cannot be found: '/Users/myName/Library/Developer/Xcode/DerivedData/project-exchrqebmyccatebeoxupvxpdsul/Build/Products/Debug-iphoneos/project.app/project' (in target 'project' from project 'project')

我没有检查以确保我没有进一步引入其他错误,但我认为问题是由构建设置中保留的链接器标志引起的。

我转到目标 -> 构建设置 -> 链接并删除了 'Other Linker Flags' 下的所有内容(OTHER_LDFLAGS 根据我的 git差异).

文件现在可以成功编译和运行,如果我以后发现一些可能由此引起的细微错误,我将相应地编辑这个答案!