我正在更新我的应用程序和一个公共(public)库(动态框架)。曾经是作为 Xcode 子项目的静态库,现在是包含 swift 代码的动态框架。
在编写我的应用代码时,我看到了一些编译器警告。目前,它们只是警告。
在我的应用程序的 MainViewController 中,我包含了一个用 swift 编写的文件。所以这有一个 App-swift.h 的导入。在这个自动生成的 App-swift.h 中,有以下部分:
#if defined(__has_feature) && __has_feature(modules)
@import UIKit;
@import my_framework;
#endif
在这个“my_framework”中,我有一个针对各种文件的分类方法,例如NSObject+my_framework.h
现在,我收到 MainViewController.m 的编译器警告,提示“接口(interface)‘NSObject’上类别‘my_framework’的重复定义”。下拉列表提供了两个定义的位置。一个位置是我的框架内的实际类别头文件。编译器通过 pch 文件包含它来“看到”这个位置。另一个位置在“@import my_framework”行直接链接到我的 App-swift.h 文件。
有什么办法可以避免这个警告吗?
最佳答案
使用@import
或 #import <FMK/FMK.h>
相反 #import "fmk.h"
关于ios - 接口(interface) 'my_framework' 上类别 'NSObject' 的重复定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35164619/