'Framework not found' 在 Xcode

'Framework not found' in Xcode

我知道这个问题已经被问过几次了。我遵循了这些人的指示:

Adding frameworks to project in Xcode 5 and having *relative* paths added

xcode4: Linker error: Directory not found for option

仍然 Xcode 出现此错误:

这是我当前的配置:

bolts 框架让我可以使用 Parse SDK。我从这里下载了空白项目:https://parse.com/apps/quickstart#parse_data/mobile/ios/native/new

它正在工作。我试图复制每个配置选项,但它仍然不起作用。

尝试从链接框架中删除 Bolts.framework,然后重新添加。另外,在你的 Framework Search Path 中保持路径直到 Bolts.framework 就像 $(PROJECT_DIR)/Bolts 如果它在你的项目目录路径的 Bolts 文件夹中。

解决方法如下:

在Select项目中将“$(PROJECT_DIR)”属性(默认情况下可能是非递归的)转换为递归选项点击目标点击-构建设置搜索'Framework Search Path' - 双击输入。

抓取

删除导致问题的框架(通过删除引用)。

然后重新添加,按照以下步骤添加FBSDK框架和库:

  1. 点击项目
  2. 常规设置
  3. 链接的框架和库
  4. 单击加号按钮并添加您想要的所有内容

除了从 PodfileLinked Frameworks and Libraries 中删除框架外,我还必须删除 Other Linker Flags 中对框架的引用。

从嵌入式二进制文件中删除所有框架并重新添加

请在添加这两个框架后同时打开每个 Bolts 和 Parse 框架并将 Parse 和 Bolts 添加到项目中,然后问题将得到解决

我刚刚遇到了同样的情况(在添加第 3 方框架后很难解决 OP 的构建错误)并且它似乎是 Xcode 中的一个错误(我的是 8.3.2 (8E2002) ).

问题是框架路径中的文件夹名称包含空格。在这种情况下,Xcode 在 Build Settings -> Framework Search Paths:

中使用反斜杠错误地转义了它们
$(PROJECT_DIR)/Folder\ with\ spaces/Lib

要解决此问题,只需手动编辑条目以删除那些反斜杠并将整个字符串括在引号中,如下所示:

"$(PROJECT_DIR)/Folder with spaces/Lib"

我也遇到了这个错误,我将框架文件移动到根项目文件夹并再次添加到框架中,问题就解决了。

我是 iOS 开发的新手。显然,这个问题对我来说是打开 .xcodeproj Xcode 项目而不是 .xcworkspace Xcode 工作区的结果。我改为打开工作区,错误消失了。

上面的

None 对我有用,直到我发现我在构建设置下的框架搜索路径/调试下有一个空白 "Any Architecture | Any SDK" 行。

删除了该行并且有效!

我出现这个错误是因为 Pods 文件夹在 iCloud 中,我的电脑上没有本地副本。在 Finder 中转到您项目的文件夹,并检查其中的任何文件夹中是否有 iCloud 的符号!

我的框架名字很长,比如 FrameworkSDK_Light-1.0.6.framework,所以我将它重命名为 FrameworkSDK_Light.framework,它解决了我的问题。

我意识到我没有 run/built 我的框架与 Generic Device,这奇怪地导致了这些问题。我只是将框架放回原处,它就起作用了。

我收到错误 'AdBrixRM framework not found'。我检查了 AdBrixRM.framework。我注意到缺少 'AdBrixRM' 执行文件。我将此文件复制到框架文件夹中,问题就消失了。

我过去曾在 Google Admob SDK 中遇到过同样的问题。最近,这发生在尝试添加 Validic 库时。这次我也尝试了同样的老办法,而且很快就奏效了。

1) 删除框架,如果已经添加的话。

2) 在 Finder 中找到框架,然后将它们直接拖放Project Navigator 窗格 在你的项目树下。

3) 构建项目,Whooo!

不确定是什么不同,但是通过官方方式添加框架,即转到项目设置页面 下的 "Linked Framework & Libraries" 部分( TARGET) 并且从那里链接对我不起作用。希望这有帮助。

  1. 从 Xcode 项目设置中删除框架 link。
  2. 将框架移动到项目文件夹。
  3. 在Xcode项目设置中重新添加框架。
  4. 清理项目并重新编译它。

1:- 从 Xcode 项目中删除框架。退出 Xcode.

2:- 在 XCode 中打开您的项目,然后转到菜单下的文件,然后 select 将文件添加到“YourProjectName”。

3:- Select "YourFramwork.framework" 在你保存它的目录中。

4:- 单击“需要时复制项目”复选框。

5:- 单击添加。

确保您已将框架添加到目标设置 - 常规下的嵌入式二进制文件和链接框架和库中。如下图所示:-

我发现 file.framework 引用了我项目外的文件。所以我将文件拖到项目下的 frameworks 文件夹中,然后删除了较早的 file.framework 文件并且它起作用了。

错误:找不到框架

如果您使用 CocoaPods 尝试 运行:

pod deintegrate
pod update

也使用 .xcworkspace 而不是 .xcodeproj

如果您使用的是 CocoaPods。类似的事情发生在我身上。尽管这个问题很老,但像我这样的人可能仍在苦苦挣扎。所以为了帮助: 在 pod install 之后,它会警告您有关项目文件的信息。直到现在我才注意到。它说:

[!] Please close any current Xcode sessions and use ProjectFile.xcworkspace for this project from now on.

所以基本上,安装 Pods 后不要继续处理 .xcodeproj。如果您这样做,链接器将找不到文件。

运行 pod update 在应用程序的 root 目录中为我解决了这个问题。

如果您正在使用 cocoapods 开发一个模块,请尝试注释该行

s.vendored_frameworks = "YOURMODULE.framework"

YOURMODULE.podspec

生成 YOURMODULE.framework 并将其复制到项目文件夹后,错误将消失。

我在我工作的一个项目中遇到了这个问题,在你删除并重新添加框架之前:

git status 

在您的项目上检查框架是否未列为已删除。如果它是做 a

git stash 

git checkout *framework/file/path*

在您的购物车文件中添加 github "BoltsFramework/Bolts-iOS"。 然后 carthage update。 从 ../carthage/Build/iOS

复制 Bolts.framework

从 iOS 模拟器切换到真实设备解决了我的问题。

遇到同样的错误并解决了它 ---> 构建设置 > 仅构建活动架构 = 是

错误:找不到框架

如果您使用 CocoaPods,请尝试从终端 运行 这些命令:

英特尔芯片:

pod deintegrate
pod update

Apple Silicon M1 芯片:

pod deintegrate
arch -x86_64 pod update

也使用 .xcworkspace 而不是 .xcodeproj