23

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

'sharedApplication()' 不可用:在适当的情况下使用基于视图控制器的解决方案。

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

http://i.stack.imgur.com/mp2qs.png 当我在操场上做同样的事情时,它工作得很好。我错过了什么?

4

4 回答 4

71

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

Require Only AppExtension-Safe API

全部设置为YES。但默认值为 NO。当我将其设置为 NO 时,错误消失了。

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

于 2015-12-11T15:37:51.270 回答
3

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

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

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

于 2019-08-19T23:15:37.820 回答
1

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

于 2019-02-23T18:53:17.197 回答
-1

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

于 2021-06-05T07:33:59.623 回答