3

UIApplication.sharedApplication()は iOS8 の今日のウィジェット/拡張機能では使用できないため、コードが現在ウィジェットまたはアプリとして実行されているかどうかを動的に確認するにはどうすればよいですか? アプリを実行するときに、たとえば呼び出したい

UIApplication.sharedApplication().registerUserNotificationSettings(settings)

ウィジェットと同じコードを実行する場合、これは単純にスキップする必要があります。これを確認することは可能ですか?

4

3 に答える 3

1

拡張機能用に別のプレフィックス ファイルを作成し、アプリのプレフィックス ファイルで定義されていないマクロをプレフィックス ファイルで定義します。次に、このマクロが定義されているかどうかを確認すると、拡張機能にいるかどうかがわかります。または、拡張機能ではなくアプリのプレフィックス ファイルでマクロを定義し、他の方向でチェックすることもできます。

于 2014-10-24T22:48:14.083 に答える
1

私の解決策:

#ifdef UIApplication
... //App
#else
... //Today Extension
#endif
于 2016-08-19T10:49:51.710 に答える