'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框架和库:
- 点击项目
- 常规设置
- 链接的框架和库
- 单击加号按钮并添加您想要的所有内容
除了从 Podfile
和 Linked 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) 并且从那里链接对我不起作用。希望这有帮助。
- 从 Xcode 项目设置中删除框架 link。
- 将框架移动到项目文件夹。
- 在Xcode项目设置中重新添加框架。
- 清理项目并重新编译它。
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
我知道这个问题已经被问过几次了。我遵循了这些人的指示:
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框架和库:
- 点击项目
- 常规设置
- 链接的框架和库
- 单击加号按钮并添加您想要的所有内容
除了从 Podfile
和 Linked 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) 并且从那里链接对我不起作用。希望这有帮助。
- 从 Xcode 项目设置中删除框架 link。
- 将框架移动到项目文件夹。
- 在Xcode项目设置中重新添加框架。
- 清理项目并重新编译它。
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