为什么我不能使用 addObserverForName 观察 NSApplicationXYZNotification?

Why can't I observe NSApplicationXYZNotification with addObserverForName?

我正在尝试使 Objective-C iOS 库适用于 macOS 应用程序。移除基于 UIKit 的通知是这里唯一真正的任务。例如,当我试图用 NSApplicationDidResignActiveNotification 替换 UIApplicationDidEnterBackgroundNotification 时,我 运行 进入了奇怪的错误,即后一个变量被称为未声明的标识符。

[self.observers addObject: [[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationDidResignActiveNotification object:nil queue:nil usingBlock:^(NSNotification* note) {
    // stop operations
}]];


当我使用替代方法时不会出现相同的错误:

[[NSNotificationCenter defaultCenter] addObserver:[???] selector:[some selector] name:NSApplicationDidResignActiveNotification object:nil];


这种方法的问题是我必须事先有一个观察者——比如 self——而不是接收一个我可以添加到 self.observers 数组的观察者。

我已经阅读了一些文档、问题和指南——包括 NSApplication doc and the NSHipster guide——但我似乎无法弄清楚我的误解,尽管我相信这是关于 NSNotificationCenter 的一些基本知识以及如何它有效。

愚蠢的解决方案,尽管 @Willeke 的评论提供了帮助,他们没有看到相同代码片段的错误——库需要 Cocoa.h 代替 iOS 导入。