У меня есть простое приложение, которое также имеет расширение 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);
}
Как я могу изменить этот код так, чтобы он мог выполнить одно из следующих действий:
- Только запустить/скомпилировать IF конечная цель - это родное приложение iOS, а не виджет.
- ИЛИ проверить, доступен ли этот API на целевой платформе, а затем использовать его, если он есть?
Надеюсь, мой вопрос имеет смысл и спасибо за ваше время, Дэн.