将Objective-C框架导入Swift项目时,在桥接头文件中遇到“文件未找到”的问题。
将Objective-C框架导入Swift项目时,在桥接头文件中遇到“文件未找到”的问题。
我有一个Swift项目,我想导入基于ObjC的框架。该框架位于项目路径下的一个目录中,并且在Xcode中被项目引用。它还被添加到项目的“Build Phases”页面中的“Link Binary with Libraries”中。
然而,由于某种原因,我似乎无法将该框架包含在Bridging-Header文件中。我收到以下错误:
BridgingHeader.h:5:9: error: 'Parse/Parse.h' file not found
#import
^
我已经检查了以下事项:
- “Install Objective-C Compatibility Header”设置为“YES”。
- 头文件搜索路径包括框架的路径。
我确定我漏掉了一些东西,所以如果有人有任何线索,那将非常好。
在将Objective-C框架导入Swift项目的时候,遇到了"file not found"的问题。原因是在User Header Search Paths中没有添加lib目录。解决方法是在User Header Search Paths中添加${PROJECT_DIR}/lib。这样就可以成功构建测试目标了。
此外,还有一个解决方法是在主目标的Header Search Paths中添加Pods/*。有趣的是,在将Swift框架作为依赖项添加到目标之前,我并没有遇到这个问题。这个方法在Xcode 7 beta 6中有效。
对于我来说,这个方法正好解决了我的问题。我的项目中包含了一个包含库(.a)的框架。我不得不在User Header Search Paths中为库的头文件创建一个搜索路径。另外,还需要导入Pods/library文件夹。
以上就是解决"file not found"问题的原因和解决方法。
在将Objective-C框架导入Swift项目时,出现了“文件未找到”的问题。这是因为“Objective-C Bridging Header”设置必须在目标级别而不是项目级别进行设置。需要确保删除项目级别的设置值。这似乎是Xcode的一个bug,因为我不知道为什么这样修复它。
我遇到了同样的错误,原来在项目级别已经定义了头文件。即使我已经在目标级别定义了它,我也必须从项目级别删除它,以便允许添加第三方框架。这似乎确实是一个Xcode的bug。
如果您有测试目标,请尝试从测试目标中删除“Objective-C Bridging Header”设置。这应该有所帮助。
令人难以置信。谢谢你。
嘿!我也有同样的问题:( 尽管上述方法没有解决...
我该如何设置它?
“世界上最先进的技术公司” 2016年
这在Xcode 9.2中对我有用。多年过去了,仍然没有修复...
你怎么设置的?
你是对的,伙计!在Xcode 14中还是一样的!:D