gpt4 book ai didi

iphone - 由于 UIPopoverController,通用 iOS 应用程序在 iPhone/iTouch 3.1.3 上崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:52:31 25 4
gpt4 key购买 nike

我刚刚更新了我的应用程序,使其成为通用应用程序。为此,我在某个地方添加了对 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

我不明白的是,如果硬件是 iPad,我只会尝试调用 UIPopoverController:

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 链接?

最佳答案

对于通用应用程序,您不仅应该检查这是否是 ipad 或此类是否存在,而且您应该将 UIKit 链接为非默认的弱引用(强),为此:

  1. 获取目标信息
  2. 选择常规
  3. 在链接库中将 UIKit required 更改为 UIKit weak

享受制作通用应用的乐趣:]

关于iphone - 由于 UIPopoverController,通用 iOS 应用程序在 iPhone/iTouch 3.1.3 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com