在我的 'MyApp-Swift.h' 中找不到 *** 的协议声明
Cannot find protocol declaration for *** in my 'MyApp-Swift.h'
我正在做一个项目,到目前为止,尽管一团糟,但它工作正常。今天信不信我已经更新到Swift5.
该项目有 iOS 和 tvOS 目标以及框架、测试和 top selves 扩展。该项目也是使用 Objective-C 开始的,多年来已成为 90% Swift。
我不确定什么地方出了问题,但是在编译时,我的所有顶级自扩展(主要是所有 tvOS 目标)都出现以下错误。
我发现了类似的问题,但我不明白这是怎么回事。
有什么想法吗?
您可能在定义 IAPHelper 的 Swift 文件中遗漏了 import StoreKit
。有时这会被传递导入,Swift 不一定需要它,但 Swift 桥接 header 需要。
最终你需要确保有一个 ObjC @import StoreKit;
在这行代码之前被评估。
首先,我要感谢 Rob 的提示。希望他能拿分!
根据提供的提示进行故障排除后:
- 将 StoreKit 添加到您的链接框架列表中。 -> 无效
- @import StoreKit;在#import <...-Swift.h> 之前 -> 显示当模块被禁用时错误使用@import
我还看到“...-Swift.h”仅在我的“...Topself”目标的构建设置中声明。仍然很不确定为什么我会认为整个项目仍然具有 ObjC 依赖项......对这个挑战来说仍然很新。
此外,如果我展开错误,我可以看到在尝试查找“...-Swift.h”文件时出现了某种错误。
此时我想起来我正在使用cocoapods(我不喜欢你,你不喜欢我的关系)而且我讨厌看到警告“...Overrides Enable modules (C - Objective-C)" 所以我将它设置为整个项目的默认值。
事实证明,对于所有“...TopSelf”目标,默认值为 NO。
通过将启用模块 (C - Objective-C) 覆盖为是、清理和构建,一切都重新开始工作。
我正在做一个项目,到目前为止,尽管一团糟,但它工作正常。今天信不信我已经更新到Swift5.
该项目有 iOS 和 tvOS 目标以及框架、测试和 top selves 扩展。该项目也是使用 Objective-C 开始的,多年来已成为 90% Swift。
我不确定什么地方出了问题,但是在编译时,我的所有顶级自扩展(主要是所有 tvOS 目标)都出现以下错误。
我发现了类似的问题,但我不明白这是怎么回事。
有什么想法吗?
您可能在定义 IAPHelper 的 Swift 文件中遗漏了 import StoreKit
。有时这会被传递导入,Swift 不一定需要它,但 Swift 桥接 header 需要。
最终你需要确保有一个 ObjC @import StoreKit;
在这行代码之前被评估。
首先,我要感谢 Rob 的提示。希望他能拿分!
根据提供的提示进行故障排除后:
- 将 StoreKit 添加到您的链接框架列表中。 -> 无效
- @import StoreKit;在#import <...-Swift.h> 之前 -> 显示当模块被禁用时错误使用@import
我还看到“...-Swift.h”仅在我的“...Topself”目标的构建设置中声明。仍然很不确定为什么我会认为整个项目仍然具有 ObjC 依赖项......对这个挑战来说仍然很新。
此外,如果我展开错误,我可以看到在尝试查找“...-Swift.h”文件时出现了某种错误。
此时我想起来我正在使用cocoapods(我不喜欢你,你不喜欢我的关系)而且我讨厌看到警告“...Overrides Enable modules (C - Objective-C)" 所以我将它设置为整个项目的默认值。
事实证明,对于所有“...TopSelf”目标,默认值为 NO。
通过将启用模块 (C - Objective-C) 覆盖为是、清理和构建,一切都重新开始工作。