【问题标题】:Converting an Objective-C framework to Swift - Header files still displaying Objective-C functions将 Objective-C 框架转换为 Swift - 仍然显示 Objective-C 函数的头文件
【发布时间】:2018-10-05 06:54:21
【问题描述】:
我将整个Objective-C 框架转换为Swift。构建完成后,当我检查框架的头文件时,它仍然显示旧的Objective-c 函数。
我从框架项目中删除了所有Objective-C 文件。我已经尝试清理和构建项目。但没有成功。
【问题讨论】:
标签:
ios
objective-c
swift
ios-frameworks
【解决方案1】:
您从 Xcode 项目中删除了 Objective-C 文件,但您是否也从文件系统和您可能使用的任何源代码控制中删除了它们?
此外,您的 Xcode 项目中的构建设置可以搜索库/头文件,即使您已将它们从 Xcode 的 Project Navigator 中显式包含中删除。
只要确保搜索路径不查找旧的 Obj-C 内容即可。小心像MyXcodeProject/** 这样的递归搜索。 ** 将递归搜索所有子文件夹及其子文件夹以查找要包含的内容。
如果可以,最好直接在搜索路径中指定文件夹。如果您知道不需要搜索路径,则可以将它们全部清除。
...尽管您可能希望保留默认排除项:
【解决方案3】:
即使在删除 Obj C 文件后,您如何才能在基于 Swift 的框架中看到“头”文件。肯定有构建问题。如果构建是正确的,那么您在构建它之后就没有引用/使用正确的框架(在应用程序中)。这是我在许多开发人员中观察到的最常见的错误。
【解决方案4】:
也许这会有所帮助,请在您的框架的目标构建设置上尝试一下:
- 禁用模块(启用模块(C 和 Objective-C))
- 确保已设置 Swift 版本(Swift 语言版本)