首页 文章

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

提问于
浏览
26

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

我在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'用于桥接 Headers '/ Documents / MyProjectLocaiton / FoneApp -Bridging-Header.h”

请帮帮我 . 谢谢!

12 回答

  • 0

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

  • 4

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

  • 1

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

    platform :ios, '11.0'
    

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

    platform :ios, '9.0'
    

    项目是固定的 .

  • 1

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

    $(SRCROOT)/MyPrefixHeaderFile.pch

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

    $(SRCROOT)/FolderName/MyPrefixHeaderFile.pch

  • 9

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

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

    • 首先点击徽标

    Click on the logo

    • 然后单击'Edit Scheme':

    Edit Scheme

    • 现在,在构建选项卡下,选中'Find implicit dependencies':

    Find implicit dependencies

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

  • 8

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

    enter image description here

  • 3

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

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

  • 0

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

    #import <UIKit/UIKit.h>

  • 2

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

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

    #import "File.h"

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

  • 2

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

  • 0

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

  • 3

    @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
    

相关问题