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

标签 swift xcode swift-package-manager

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

ld: framework not found FBLPromises

我目前在带有 M1 芯片的 Mac Mini 上运行 Xcode 13.3,但问题出现在较早版本的 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 已成功添加):

PackageDependencies

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

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

ARCHS (arm64) 中的所有架构均无效。考虑将 ARCHS 设置为 $(ARCHS_STANDARD) 或更新它以包含至少一个 VALID_ARCHS(arm64、arm64e、armv7、armv7s)中不在 EXCLUDED_ARCHS (arm64) 中的值。

错误:找不到构建输入文件:'/Users/myName/Library/Developer/Xcode/DerivedData/project-exchrqebmyccatebeoxupvxpdsul/Build/Products/Debug-iphoneos/project.app/project'(在目标中来自项目“项目”的“项目”)

最佳答案

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

我去了 Target -> Build Settings -> Linking 并删除了“Other Linker Flags”下的所有内容(根据我的 git diff,OTHER_LDFLAGS 是如何反射(reflect)在 project.pbxproj 文件中的)。

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

关于swift - 未找到框架 FBLPromises(Swift 包管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71495510/

相关文章:

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

ios - self.definesPresentationContext = true : leads to black screen?

ios - 在子类中将打开的方法标记为 final

Swift UiTableView 不重新加载搜索结果

ios - 当连接到特定 wifi : ios 时运行我的应用程序

swift - 相机 View 作为模糊背景?

ios - iPad/iPhone 框架或 View 上的 Swf 视频?

xcode - 如何使用Swift Package Manager从 repo 中排除文件/文件夹?

ios - 如何使用 Swift 包管理器创建 Cocoa Touch 框架?

objective-c - 如何使用 SwiftPM 在 objective-c 模块中使用 swift 模块?