Определите, является ли цель запуска расширением приложения или приложением 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 на целевой платформе, а затем использовать его, если он есть?Я надеюсь, что мой вопрос имеет смысл и спасибо за ваше время, Дэн.