Я сделал свое приложение универсальным для iPhone и iPad (оконное приложение; универсальное) с нуля.
Сначала я сделал всю логику и представления для iPhone, и это сработало. После этого я создал вид для iPad. Это сработало. Но когда я реализовал UISplitViewController или UIPopover, приложение больше не будет собираться для iPhone.
Я называю свой пользовательский splitViewController так:
MySplitViewController *mySplitViewController = [[MySplitViewController" alloc] init];
Определение класса выглядит так:
@interface MySplitViewController: UISplitViewController {
}
При сборке (для iPhone 3.1.3) выдает эту ошибку:
не может найти объявление интерфейса для
UISplitViewController, суперкласс
'MySplitViewController'
Afcourse, SDK 3.1.3 не содержит все новые функции из SDK 3.2. Это понятно Поэтому я попытался создать экземпляр моего класса следующим образом:
MySplitViewController *mySplitViewController = [[NSClassFromString(@"MySplitViewController") alloc] init];
Это все еще дает мне ту же ошибку.
Я также пытался использовать фреймворк для слабых ссылок, но это тоже не помогло
То, что я также пытался сделать, это заключить в скобки создание экземпляра класса следующим образом:
Class cls = NSClassFromString(@"UIPopoverController");
if (cls != nil) {
MySplitViewController *mySplitViewController = [[NSClassFromString(@"MySplitViewController") alloc] init];
}
Может, кто-нибудь подскажет, как я могу вызывать определенные классы, чтобы я мог запустить свое приложение для обеих платформ?
Спасибо