【发布时间】:2014-09-12 08:01:19
【问题描述】:
在测试我的应用程序以查看它如何与基于 iOS 8 的 XCode 5 构建一起工作。我遇到的最大问题是我们所有的确认对话框都会导致应用程序崩溃。如果我在 XCode 6 beta 上构建它,它不会崩溃,但弹出窗口不在窗口中心。
这里是代码。它调用 showInView,但不返回。所以我的问题是,我做错了吗?如果没有,发生了什么变化,我该如何解决?
NSException 被抛出在 showInView 上
-- 原因 NSString * @"应用程序试图以模态方式呈现一个活动控制器 <_uialertshimpresentingviewcontroller:>." 0x00007fab69747ec0
UIActionSheet* confirmAction = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"SiteUpToDate", nil)
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:NSLocalizedString(@"Yes", nil)
otherButtonTitles:NSLocalizedString(@"No", nil), nil];
[confirmAction showInView:self.view];
[confirmAction release];
更新:我发现这是 Beta OS 和 Beta XCode 的问题。 iOS 8 正式发布后,我们的问题就迎刃而解了。
【问题讨论】:
-
这是适用于 iPhone、iPad 还是两者兼有?它对一个有效,但对另一个无效?
-
我只在物理 iPad Air 上试过这个。我没有尝试过 Air 模拟器,同样的问题,以及没有问题的 iPhone 5s。所以它似乎与平板电脑有关。
-
我的意思是我现在已经在 Air 模拟器上试过了。
-
showInView 上抛出异常,它没有发布。我更新了问题以显示抛出的异常。
-
为了更好地兼容 ios 8,您应该使用 ios 8 的条件代码并使用 UIAlertController。
标签: objective-c xcode5 ios8 xcode6