首页 > 解决方案 > NS_ASSUME_NONNULL_BEGIN 和 FOUNDATION_EXPORT 的未知类型

问题描述

我目前正在处理目标 C 的旧源代码,我正在使用 Xcode11 并将基本目标设置为 iOS10。

项目运行良好,但是当我尝试构建它时,出现以下错误:-

NS_ASSUME_NONNULL_BEGIN 和 FOUNDATION_EXPORT 的未知类型。

我尝试在 pch 文件中导入 Foundation,但仍然出现同样的错误。

谁能帮我解决这个问题。

更新:框架编译器标志设置 在此处输入图像描述 在此处输入图像描述

这是项目的pch文件 在此处输入图像描述 在此处输入图像描述

谢谢

标签: iosobjective-c

解决方案


FWIW 在我的项目中,我将 Precompile Prefix Header 设置为 no,如图所示。

其他可能有帮助的设置 - 在“其他链接器标志”中我也有

-framework "Foundation"

我希望你能做对,这里还有两件事要尝试。

  1. 通过添加强制它
FOUNDATION_EXPORT=extern NS_ASSUME_NONNULL_BEGIN= NS_ASSUME_NONNULL_END=

到您的预处理器宏。

  1. 由于Foundation包含在项目中并且考虑到它太旧了,可能有一些地方(源文件)需要添加
#import <Foundation/Foundation.h>

到头文件以使其工作。

在此处输入图像描述


推荐阅读