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文件,项目将重新开始工作!
你可以尝试这个解决方案。 我通过这种方式解决了同样的问题。
产品>方案>编辑方案>在左侧菜单上选择“构建”>查找隐式依赖项
- 首先点击徽标
- 然后点击“编辑方案”:
- 现在,在构建选项卡下,选中“查找隐式依赖项”:
然后再打扫干净并再次构建。
也许您创建了一个新目标,但是您没有在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