尽管在 macBookPro 上编译和运行完美,但在 Mac mini 上编译项目的桥接头问题

Posted

技术标签:

【中文标题】尽管在 macBookPro 上编译和运行完美,但在 Mac mini 上编译项目的桥接头问题【英文标题】:bridging header problem compiling project on Mac mini despite compiling and running perfectly on macBookPro 【发布时间】:2018-09-10 09:18:20 【问题描述】:

我在我的 MBP 上运行这个项目并且工作正常,从 repo 中提取甚至将整个项目复制到我的 Mac mini 时,图像中的错误就会发生。 我确信它可以工作(验证正确添加桥接头并在目标的构建设置中设置适当的标志,因为它在 MBP 上工作)

我的项目在 swift 中,要导入的库是用目标 c 编写的,我在两台机器上都运行 Xcode 9.4.1

感谢任何帮助

编辑: - 我尝试卸载并重新安装 macOS 和 Xcode,但错误仍然存​​在 - 错误消息:“/Users/******/Desktop/folderName/folderName/Bridging-Header.h:9:9: 错误:找不到‘PayFortSDK/PayFortSDK.h’文件

进口

    ^

产生 1 个错误。 :0: 错误: 未能发出预编译头 '/Users/******/Library/Developer/Xcode/DerivedData/projectName-hjvpkqxmenpclmebdbrkxcarqoap/Build/Intermediates.noindex/PrecompiledHeaders/Bridging-Header-swift_27LSG8YDJOKNN-clang_13WCR1S0OL464.pch ' 用于桥接头 '/Users/******/Desktop/folderName/folderName/Bridging-Header.h'"

编辑找到解决方案: 1- 删除框架文件和旧桥接头 2- 使用新名称添加了新的桥接头,并在 buildSettings 中修改了名称 3- 在框架下再次添加框架文件 4- 一些文件有不同的目标(主要目标 - 测试目标)/统一所有文件目标 5-clean/index/build 成功

SecondEDIT : ** 另一个分支/同一个项目 ** 还有另一个桥接头是项目文件夹在删除后没有添加到项目中,一切都按预期工作

【问题讨论】:

始终将代码、错误消息等添加为文本 - 这样它们就可以搜索,并且可以在编写答案时复制。 你使用 Pod 吗?确保打开.xcworkspace 项目而不是正常项目。 我很肯定我正在使用 .xcworkspace 【参考方案1】:

检查您的构建设置,是否设置了桥接头路径,然后还清理您的 derivedData 文件夹,然后清理并运行您的项目

【讨论】:

试过了,甚至还检查了 Mac mini 和 MBP 上的构建设置,没有什么不同。然后把整个项目都复制了,还是不行,从github上拉也不行

以上是关于尽管在 macBookPro 上编译和运行完美,但在 Mac mini 上编译项目的桥接头问题的主要内容,如果未能解决你的问题,请参考以下文章

Loadbitmap 在 x86 上编译和运行良好,但在编译为 x64 时无法正常工作

在不同版本的 XCode 上编译和运行相同的代码以针对不同的 iOS 版本

在Windows上编译和调试CoreCLR

在 64 位 Arm 上编译和安装 Chez 方案?

Go语言编译器TinyGo,基于LLVM,在微控制器和小系统上编译和运行

在 windows 64 位上编译和安装 openssl