Xcode 9 - 未能发出预编译头[重复]

问题描述 投票:27回答:12

这个问题在这里已有答案:

我有一个项目在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”

请帮帮我。谢谢!

ios objective-c swift xcode xcode9
12个回答
15
投票

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

platform :ios, '11.0'

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

platform :ios, '9.0'

项目是固定的。


0
投票

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


0
投票

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


0
投票

@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

9
投票

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

$(SRCROOT)/MyPrefixHeaderFile.pch

MyPrefixHeaderFile.pch在项目文件夹中的另一个文件夹中,所以我更新了Prefix Header路径

$(SRCROOT)/FolderName/MyPrefixHeaderFile.pch


8
投票

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


5
投票

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

enter image description here


5
投票

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

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


4
投票

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

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

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

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


3
投票

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


3
投票

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

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

#import "File.h"

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


1
投票

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

#import <UIKit/UIKit.h>

© www.soinside.com 2019 - 2024. All rights reserved.