我在Objective-C和swift中都有一个项目,只需要MyProjectName-Bridging-Header.h
,我也配置了Objective-C Bridging Header。
我还添加了' MyprojectName-Swift.h'在.pch文件中。
这在xcode 8.2上运行正常但是当我从xcode 9构建我的项目时,我得到以下错误。
无法发出预编译的标头 ' /Library/Developer/Xcode/DerivedData/MyprojectName-lajanjvhqjnfjksdsndsfkads/Build/Intermediates.noindex/PrecompiledHeaders/MyprojectName-Bridging-Header-swift_44AHJm3Z96qu-clang_2BIMGQVXGEZ09.pch' 用于桥接标题 ' /Documents/MyProjectLocaiton/FoneApp-Bridging-Header.h'
请帮帮我。谢谢!
答案 0 :(得分:13)
如果您在项目中使用cocoapods,请阅读此内容。 在更新pod和xcode使第一次构建成功后,我只是将部署目标更新到iOS 10或11。所以问题出在podfile里面,我有行
platform :ios, '11.0'
我在项目中的部署目标是9.0 将我的podfile更改为平台后
platform :ios, '9.0'
项目已修复。
答案 1 :(得分:9)
最后我得到了这个问题的解决方案。
在我的项目中,Prefix Header
路径没有明确定义。之前的道路是
$(SRCROOT)/MyPrefixHeaderFile.pch
MyPrefixHeaderFile.pch
位于项目文件夹中的另一个文件夹中,所以我将Prefix Header
路径更新为
$(SRCROOT)/FolderName/MyPrefixHeaderFile.pch
答案 2 :(得分:7)
还要确保导入" ProductModuleName-Swift.h"在你的.m文件中,而不是你的.h文件。
答案 3 :(得分:4)
您可以尝试此解决方案。我通过这种方式解决了同样的问题。
产品>方案>编辑方案>选择" Build"在左侧菜单上>查找隐式依赖项
在构建标签下,选中'查找隐式依赖项':
然后再打扫干净并再次建造。
答案 4 :(得分:4)
答案 5 :(得分:3)
在我的观点中,我解决了只需切换import语句的顺序和构建工作正常。
答案 6 :(得分:3)
我发现我不小心打开了 ProjectName.xcodeproj 文件而不是 ProjectName.xcworkspace 文件。
打开 xcworkspace 文件,项目将重新开始工作!
答案 7 :(得分:3)
将我自己的情况添加到循环中。
在我的桥接头文件中,le'Ts说我添加了一个导入
#import "File.h"
在File.h
头文件中,有一个从Prefix.pch中的导入引用的类型,必须在我的File.h中添加缺少的#import
答案 8 :(得分:1)
在我的情况下,我在我的一个项目文件中遇到了与“Unknown type”之类的其他错误相同的编译器错误,所以我只是将其添加到有问题的文件中,它立即解决了。
#import <UIKit/UIKit.h>
答案 9 :(得分:0)
此外,如果您有多个目标,请注意在每个文件中包含#import
。
答案 10 :(得分:0)
当您在运行xcodebuild命令时在终端中收到此错误时,请确保传递-workspace YourWorkspace.xcworkspace
答案 11 :(得分:0)
target 'NEWTARGET' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for MAINTARGET
shared_pods
end