web-dev-qa-db-fra.com

UIApplication.sharedApplication non disponible

J'essaie d'obtenir une référence à mon délégué d'application à partir d'un UIViewController mais je reçois toujours ce message d'erreur:

'sharedApplication ()' n'est pas disponible: utilisez à la place des solutions basées sur le contrôleur de vue.

J'ai lu tous les articles traitant de ce type de message mais mon problème ne semble pas lié car je n'utilise aucun framework tiers. Bien qu'une extension Today fasse partie de mon application, la classe dans laquelle l'erreur se produit est totalement indépendante. J'ai même créé une toute nouvelle classe et je reçois toujours la même erreur:

http://i.stack.imgur.com/mp2qs.png Quand je fais la même chose dans une cour de récréation, ça marche bien. Qu'est-ce que je rate?

21
DoertyDoerk

Problème résolu. Je suis de nouveau allé dans les paramètres de construction de mon application et je suis tombé

Require Only AppExtension-Safe API

tous réglés sur OUI. La valeur par défaut est NO. Lorsque j'ai défini ce paramètre sur NON, l'erreur a disparu.

Je ne me souviens pas avoir touché ou même savoir à ce sujet, mais heureusement, cela fonctionne maintenant.

65
DoertyDoerk

J'ai rencontré la même erreur lorsque j'ai créé et ajouté une nouvelle cible à mon projet (une cible de notification de service à distance) et ajouté la définition de cible de manière incorrecte dans mon fichier pod.

Je suivais les instructions d'une plateforme de notification tierce et ils ne savaient pas où placer la définition cible. Initialement, j'ai ajouté la définition de cible dans ma cible principale, un peu comme la définition de cible Tests. Cette erreur m'a conduit à cette erreur.

J'ai fini par déplacer la définition de cible de notification de service à distance en dehors de ma cible principale au bas de mon podfile et cela a résolu mon problème.

1
drquiz

Au cas où quelqu'un aurait rencontré cette erreur après 3 ans à compter de l'heure des questions. Assurez-vous que l'appartenance à la cible du fichier Swift n'inclut pas d'extension Aujourd'hui.

1
Mohamed ElBasyouni