归档应用程序时找不到 Swift Objective-C 标头

Posted

技术标签:

【中文标题】归档应用程序时找不到 Swift Objective-C 标头【英文标题】:Swift Objective-C header is not found when archiving the app 【发布时间】:2019-01-17 06:57:58 【问题描述】:

我正在尝试在一个 Objective-c 文件中添加 Swift 类,为此我必须在我的 objc 文件中添加 *-Swift.h 文件。虽然该项目在调试模式下运行良好,但是当我尝试归档我的应用程序时,它会抛出错误,特别是找不到 *-Swift.h 文件。我尝试了许多解决方案,但都没有奏效。然后我在苹果网站上得到了这个问题,这是完全相同的问题,但他的解决方案是将预编译前缀头设置为 YES 也对我不起作用。 (https://forums.developer.apple.com/thread/7512)。

我确实了解此标头是在派生数据中生成的,并且用于调试和存档的构建过程不同,但在我的情况下没有任何效果。

我有一个框架,我的应用目标位于其中。 我在我的 objc 中添加标题为#import "My_Project-Swift.h"

我正在使用 XCode 10。

【问题讨论】:

你可以尝试在prefix.pch文件中导入swift文件,它可以工作。 很抱歉没有找到你。你能详细说明吗? 您可以找到或创建一个prefix.pch头文件并在那里导入swift文件。请点击此链接创建一个.pch头文件***.com/a/24524692/4126683 我添加了它。没有解决问题。现在它在创建的 .pch 文件中显示相同的错误 ok 构建成功但错误存在。怎么会这样? 【参考方案1】:

这对我有用:

    在 Xcode 中:产品 -> 清理 (Shift+Cmd+K) 删除派生数据 在目标构建设置中将 Precompiled Prefix Header 更改为 YES 关闭 Xcode 打开 Xcode 存档

【讨论】:

以上是关于归档应用程序时找不到 Swift Objective-C 标头的主要内容,如果未能解决你的问题,请参考以下文章

Swift:通过 Bridging-Header 文件导入时找不到 CorePlot-CocoaTouch.h 文件

Swift WKWebView:调用方法时找不到变量错误

在Swift中使用YouTube-Player-iOS-Helper时找不到“YTPlayerView.h”文件

/usr/bin/ld: 在尝试“快速构建”Perfect2 项目时找不到适用于 Ubuntu 的 -lstdc++

为啥使用 RDP 时找不到远程 SmartCard

运行应用程序时找不到类错误