Определите, является ли цель запуска расширением приложения или приложением iOS

У меня есть простое приложение, которое также имеет расширение iOS 8 Today (или виджет). Одна из вещей, которые я делаю, - это совместное использование классов кода между моим приложением и моим виджетом, потому что, очевидно, это избавляет меня от необходимости иметь несколько копий одного и того же кода. Все это прекрасно работает, за исключением одной проблемы, с которой я столкнулся, - одного из API.UIApplication sharedApplication появляется ошибка, потому что вы не можете использовать это на iOS 8 Widgets.

Итак, о чем я думал, это простой оператор if, который проверяет, является ли конечная цель нативным приложением ИЛИ, является ли это виджетом iOS 8, а затем добавляет код в соответствии с требованиями. Будет ли это работать?

Вот мой код:

if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
    {
        CGSize ssz = sz;
        sz = CGSizeMake(ssz.height, ssz.width);
    }

Как я могу изменить этот код, чтобы он мог выполнить одно из следующих действий:

Только запустить / скомпилироватьЕСЛИ конечная цель - это собственное приложение iOS, а не виджет.ИЛИ ЖЕ проверить, доступен ли этот API на целевой платформе, а затем использовать его, если он есть?

Я надеюсь, что мой вопрос имеет смысл и спасибо за ваше время, Дэн.

Ответы на вопрос(2)

Ваш ответ на вопрос