UIApplication.sharedApplication不可用

问题描述 投票:19回答:2

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

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

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

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

ios swift2 ios9.1 xcode7.1
2个回答
57
投票

问题解决了。我再次去了我的应用程序的Build Settings,偶然发现了

Require Only AppExtension-Safe API

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

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


1
投票

如果有人在提问3年后遇到此错误。确保swift文件目标成员资格不包含Today Extension。


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.