归档应用程序时找不到 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中使用YouTube-Player-iOS-Helper时找不到“YTPlayerView.h”文件