3

我之前构建了一个包含 Swift 和 Objective C 组件的键盘扩展项目。我想基于我以前的应用程序构建一个新的键盘应用程序,其简单目标是更改名称、键盘 UI 和一些键盘机制。

我遵循了此处关于复制和重命名 XCode 项目的指南。我什至设法在更改 Bundle ID(对于容器应用程序和底层键盘)后编译项目。但是,由于目标的名称现在已更改,我收到以下文件的错误:

#import "NewNameContainerApp-Swift.h"
#import "NewNameContainerApp-Bridging-Header.h"

找不到(尽管我手动更改OldNameContainerApp-Bridging-Header.h为,这些错误仍然存​​在NewNameContainerApp-Bridging-Header.h。似乎该项目没有重新生成一组新的桥接头和-Swift.h与我的新目标名称匹配的文件。

我的问题是 - 有没有办法强制 XCode 重新生成一组新的这些文件?如果没有,我在哪里可以找到OldNameContainerApp-Swift.h以便我可以手动将其更改为NewNameContainerApp-Swift.h

谢谢!

4

2 回答 2

2

Define-Module在构建部分签入您的应用程序。将其更新为您的最新项目名称。要轻松找到它,只需搜索Defines-Module并查看它是否需要更新。如果它已更新,请尝试清理您的项目或删除您的Derived Data

于 2015-04-02T20:56:47.673 回答
0

我发现没有办法强制 Xcode 重新生成这些文件。删除它们只会导致构建失败。唯一可靠的方法是进行干净的构建,或删除 DerivedData 并重新构建(实际上是相同的解决方案)。

重命名 Objective-C/Swift 混合应用程序时,必须执行以下附加更改才能成功构建。

Swift to Objective-C 头文件取决于模块名称:

<ModuleName>-Swift.h

因此,如果模块名称更改,您需要更改import代码中的。在构建设置中搜索Product Module Name以找到正在使用的模块名称。

Objective-C 到 Swift 的桥接头名称取决于构建设置Objective-C Bridging Header。检查 Xcode 目标构建设置并修改以匹配您的新名称。

于 2021-10-17T17:34:51.343 回答