2015-12-11 3 views
12

私はのUIViewControllerから私のアプリデリゲートへの参照を取得しようとしているが、私はこのエラーメッセージを得続ける:私はこれを扱うすべての記事を読んでいるUIApplication.sharedApplication

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

メッセージのようなものですが、サードパーティのフレームワークを使用していないので、私の問題は無関係です。今日の拡張機能は私のアプリケーションの一部ですが、エラーが発生するクラスは完全に無関係です。私はまったく新しいクラスを作り、同じエラーが発生し続けます。

http://i.stack.imgur.com/mp2qs.png 私は同じことを遊び場でやってもうまくいきます。私は何が欠けていますか?

+0

これはアプリの拡張機能または標準アプリにありますか?あなたのアプリはアプリの拡張機能を含んでいますか? – Paulw11

+0

エラーは、アプリケーション自体で発生します。アプリケーションには拡張機能がありますが、拡張機能からではなくappからappDelを取得しようとしています。エラーが発生したすべてのクラスは、拡張と明確な関係がありません。 – DoertyDoerk

+0

エラーを出すファイルが間違って拡張ターゲットに関連付けられていないことを確認してください - http://stackoverflow.com/questions/32609776/uiapplication-sharedapplication-is-unavailable – Paulw11

答えて

35

問題を解決しました。私は再びアプリケーションのビルド設定に行ってきて、

Require Only AppExtension-Safe API 

がすべてYESに設定されています。ただし、デフォルトはNOです。これをNOに設定すると、エラーは消えました。

私は確かにこれに触ったり、知っていることを覚えていないが、幸いにもそれは動作します。

+0

エラーは削除されますが、デフォルトの共有ビューは存在しません。 –

+1

作品!いくつかのココアポッドで同じ問題がありました。私はそれを修正するためにポッドプロジェクトのそれぞれのターゲットのためにそれを変更しなければならなかった。最初にビルドターゲットにしか適用しようとしなかったので、私はそれを理解するまでしばらく時間をとった。 – Andy

+0

こんにちは私は同じ問題を抱えているが、あなたのソリューションに適用された後でも問題を解決することができませんでした – Anita

関連する問題