Я работаю над универсальным приложением, использующим UIPopoverController для версии iPad. (И базовый SDK, и цели развертывания - iOS 4.3)Проблема с обнаружением доступности класса UIPopoverController при работе на симуляторе iPhone
Когда я использую симулятор iPhone (версия 4.3) для тестирования условных кодовых путей для iPad и iPhone, ни слабая связь, ни подход NSClassFromString(@"UIPopoverController")
не дают ожидаемого поведения.
При тестировании слабой привязки структуры UIKit я должен быть уверен в компиляторе LLVM 2.1 и сделать рамки UIKit «Необязательно» в «Целевая -> Сборка фаз -> Ссылка на двоичные файлы с библиотеками». (Насколько я понимаю, это способ сделать это в Xcode 4.1).
Выполнение кода
if ([UIPopoverController class]) {
...
_popover = [[UIPopoverController alloc] initWithContentViewController:controller];
...
}
на iPhone симулятор аварий приложение, указывающее, что [UIPopoverController class]
не возвращает nil
. Замена [UIPopoverController class]
на NSClassFromString(@"UIPopoverController")
выше, приводит к такому же сбою.
Кто-нибудь знает, как сделать, чтобы эти условные проверки работали при работе на симуляторе?
Спасибо за ответ, я уверен, что ваше предложение работает. Однако не все дело в слабой связи и тестировании классов, которые вы должны проверить только на те функции, которые вы собираетесь использовать, и как таковые не предполагаете, на каких (возможно будущих) устройствах будет присутствовать (будет). По этой причине я действительно хочу протестировать функциональность, а не на устройство. – Jonas