我 fork 了一个名为 BTNavigationDropdownMenu
的框架(ios 的 swift 项目)。一切正常,直到我尝试在我创建的分支中添加对最新版本的依赖。无论我是通过 podfile 还是通过 Carthage
添加其他框架 (DYBadge
),问题都是一样的。
未找到自动链接框架 DYBadge
。
作为 DYBadge
一部分的 UIView
扩展似乎有问题。
DYBadge
在我正在处理的主应用程序中运行良好(我在应用程序目标中也需要它)。
错误如下。感谢您提供正确方向的任何提示。
ld: warning: Auto-Linking framework not found DYBadge Undefined symbols for architecture x86_64: "(extension in DYBadge):__ObjC.UIView.getBadge() -> DYBadge.DYBadge?", referenced from: Demo.BTNavigationDropdownMenu.updateBadge(text: Swift.String, at: Swift.Int) -> () in BTNavigationDropdownMenu.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
最佳答案
Xcode 无法找到您的框架,因为 FRAMEWORK_SEARCH_PATHS
可能未设置或错误(发生在我身上是因为我移动了 Info.plist
文件)。
您可以通过进入您的目标并调整build设置来解决此问题。只需在那里搜索 FRAMEWORK_SEARCH_PATHS
并添加正确的路径,通常是 $(PROJECT_DIR)/Carthage/Build/iOS
(对于 iOS 项目)。 $(inherited)
也应该作为第一个条目在那里。
这是@user3122959 在评论中回答的帖子,帮助我和其他人解决了这个问题,并被要求作为这个问题的答案放入。
关于ios - 未找到自动链接框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49767974/