この質問は、iOS でのアプリケーション拡張機能の導入に関して公開されたドキュメントに完全に基づいています。
iOS 8 でのアプリ拡張機能の導入により、「カスタム機能とコンテンツをアプリを超えて拡張し、他のアプリを使用しているユーザーが利用できるようにする」ことが可能になりました。
拡張機能の実装では、実際のアプリのいくつかのクラスを拡張機能 (モデルなど) に含めています。問題は、これらのクラスがUIApplication
アプリの拡張機能では利用できない を呼び出すことであり、コンパイラはそのように通知します。
これに対する簡単な解決策は、への呼び出しをディレクティブUIApplication
で囲むことだと思いました。#if
たとえば、シミュレーターで実行している場合にのみコードを含めたい場合は、次を使用します。
#if TARGET_IPHONE_SIMULATOR
// Code Here
#endif
ターゲットがアプリケーション エクステンションの場合、同様に定義されたマクロはありますか?