UIApplication.sharedApplication不可用

时间:2015-12-11 13:56:17

标签: ios swift2 ios9.1 xcode7.1

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

  

'sharedApplication()'不可用:改为使用基于视图控制器的解决方案。

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

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

4 个答案:

答案 0 :(得分:54)

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

Require Only AppExtension-Safe API

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

我肯定不记得曾经接触甚至不知道这件事,但幸运的是现在它有效。

答案 1 :(得分:1)

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

我遵循了第三方通知平台的指示,但不清楚将目标定义放在何处。最初,我在主要目标中添加了目标定义,就像Tests目标定义一样。这个错误导致我犯了这个错误。

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

答案 2 :(得分:-1)

如果在提问时间3年后有人遇到此错误。 确保快速文件目标成员资格不包括“今日扩展名”。

答案 3 :(得分:-1)

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