Xcode 9 – 未能发出预编译头

我在Objective-C和swift中有一个项目,通过采用MyProjectName-Bridging-Header.h ,我还配置了Objective-C桥接头。 我还在.pch文件中添加了“MyprojectName-Swift.h”。

这在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-桥接-Header.h”

请帮帮我。 谢谢!

如果您在项目中使用cocoapods,请阅读此内容。 在更新pod和xcode使第一次构建成功后,我只是将部署目标更新到iOS 10或11。 所以问题是在podfile里面我有线

 platform :ios, '11.0' 

我将podfile更改为platform后,我在项目中的部署目标是9.0

 platform :ios, '9.0' 

项目是固定的。

最后我得到了这个问题的解决方案。 在我的项目中, Prefix Header路径没有明确定义。 早先的道路是

$(SRCROOT)/MyPrefixHeaderFile.pch

MyPrefixHeaderFile.pch位于项目文件夹内的另一个文件夹中,所以我将Prefix Header路径更新为

$(SRCROOT)/FolderName/MyPrefixHeaderFile.pch

在我的观点中,我解决了简单的切换导入语句的顺序和构建工作正常。

我发现我不小心打开了ProjectName.xcodeproj文件而不是ProjectName.xcworkspace文件。

打开xcworkspace文件,项目将重新开始工作!

你可以尝试这个解决方案。 我通过这种方式解决了同样的问题。

产品>方案>编辑方案>在左侧菜单上选择“构建”>查找隐式依赖项

  1. 首先点击徽标

单击徽标

  1. 然后点击“编辑方案”:

编辑方案

  1. 现在,在构建选项卡下,选中“查找隐式依赖项”:

查找隐式依赖项

然后再打扫干净并再次构建。

也许您创建了一个新目标,但是您没有在podfile中添加它

在此处输入图像描述

在我的情况下,我在我的一个项目文件中有相同的编译器错误和其他错误,如“未知类型”,所以我只是将其添加到有问题的文件中,它立即解决了。

#import

将我自己的情况添加到循环中。

在我的桥接头文件中,le’Ts说我添加了一个导入

#import "File.h"

File.h头文件中,有一个从Prefix.pch中的导入引用的类型,必须在我的File.h中添加缺少的#import

还要确保导入“ProductModuleName-Swift.h”在.m文件中,而不是.h文件。

此外,如果您有多个目标,请注意在每个文件中包含#import

当您在运行xcodebuild命令时在终端中收到此错误时,请确保传递-workspace YourWorkspace.xcworkspace

@Li Yakun这是解决方案,如果你在项目中有多个目标,podfile中的每个新目标必须具有:

 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 
Interesting Posts