UIApplication.sharedApplication 不可用

UIApplication.sharedApplication not available

我正在尝试从 UIViewController 获取对我的应用程序委托的引用,但我不断收到此错误消息:

'sharedApplication()' is unavailable: Use view controller based solutions where appropriate instead.

我一直在阅读所有处理此类消息的文章,但我的问题似乎与此无关,因为我没有使用任何第三方框架。虽然 Today Extension 是我的应用程序的一部分,但发生错误的 class 完全无关。我什至创建了一个全新的 class 并不断收到相同的错误:

当我在操场上做同样的事情时,效果很好。我错过了什么?

问题已解决。我再次进入我的应用程序的构建设置并偶然发现

Require Only AppExtension-Safe API

全部设置为是。默认情况下是否。当我将其设置为 NO 时,错误消失了。

我确实不记得曾经接触过甚至不知道这个,但幸运的是现在它起作用了。

以防有人在提问时间 3 年后遇到此错误。 确保 swift 文件目标 Membership 不包含 Today Extension。

我 运行 在创建新目标并将其添加到我的项目(远程服务通知目标)并在我的 podfile 中错误地添加目标定义时遇到了同样的错误。

我正在按照第三方通知平台的指示进行操作,但他们不清楚将目标定义放在哪里。最初,我在我的主要目标中添加了目标定义,很像 Tests 目标定义。这个错误导致了我这个错误。

我最终将主要目标之外的远程服务通知目标定义移动到我的 podfile 底部,这解决了我的问题。

在我的例子中,我没有在导致错误的文件中定义 import Foundation。 愚蠢而迟到,但可以帮助像我这样心不在焉的人。干杯。