2

我刚刚开发了一个 iPad 应用程序进行测试,但在 iOS 4.3 中完成了。现在我已经在模拟器中更新到 5.0 并且还通过 Apple 的步骤在运行 5.0 的 iPad 上进行测试

在 4.3 模拟器中一切正常。但是在 5.0 模拟器和 iPad 上,我所有源自 UIButtons 的弹出窗口都会使应用程序崩溃。我有一个来自导航栏按钮的弹出窗口,它工作正常。

每个崩溃的弹出窗口都会显示其内容(带有 pdf 文件的 UIWebview),但是当我单击屏幕上的任意位置时,应用程序崩溃(在弹出窗口内和外部)。

我可以发布一些代码,但希望这个描述有助于给某人一个想法。我不会手动关闭弹出框或检查它是否打开,但由于这不仅仅通过尝试触摸它的启动 UIButton 发生,我认为这不是它发生的原因。加上它在 4.3 下工作


编辑:由于斯蒂芬的评论,现在已经解决了。我添加到 popOver 的内容 viewController 中:

- (void) dealloc {
 [webView release];
 [super release];
}

通常我会调用[super dealloc]而不是调用[super release],但[super dealloc]没有修复异常(exc_bad_access)。希望我没有在这个问题上打个马虎补丁!

4

1 回答 1

0

我有一个帖子开始收集这样的错误,但论坛警察取消了它。可以说 iOS 5 充斥着不兼容性。

我不能肯定地说你的问题是什么,但很有可能它与 UINavigationController 的更改有关,这导致 UIViewController 的 navigationController 对于弹出窗口为零,而 parentViewController 取而代之。

不幸的是,parentViewController 是新的,因此您必须,例如,测试respondsToSelector:@selector(parentViewController)并获取 parentViewController(如果存在),否则为 navigationController。

必须在我们拥有的应用程序的大约 30 个位置添加此逻辑。

于 2011-11-22T12:15:03.673 回答