Я только что обновил свое приложение, чтобы оно стало универсальным. При этом я добавил поддержку UIPopoverController
в определенном месте. Теперь приложение, похоже, дает сбой на устройствах 3.1.3 iPhone / iTouch:
OS Version: iPhone OS 3.1.3 (7E18)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread: 0
Dyld Error Message:
Symbol not found: _OBJC_CLASS_$_UIPopoverController
Чего я не понимаю, так это того, что я пытаюсь вызвать UIPopoverController только в том случае, если аппаратным обеспечением является iPad:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:btc];
CGSize popoverSize = { 300.0, 500.0 };
popover.delegate = self;
popover.popoverContentSize = popoverSize;
self.bmPopover = popover;
[popover release];
[self.bmPopover presentPopoverFromBarButtonItem:self.bmBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[self presentModalViewController:nav animated:YES];
}
У меня есть iVar и объявлено свойство типа UIPopoverController
, но я не ожидал, что это вызовет проблему во время выполнения, если я на самом деле не пытаюсь вызывать методы в классе.
Что я должен сделать, чтобы система не пыталась связываться с UIPopoverController
во время выполнения, когда это не поддерживается?