Mac OS X应用程序模式窗口未关闭

时间:2011-09-17 21:12:05

标签: xcode macos modal-dialog appstore-approval

我一直在尝试为Apple App商店提交申请,审稿人声称我的初始通知窗口(模态)在点击接受按钮时不会消失。现在我已经在几台机器上进行了测试(甚至是干净的10.7.1安装)并且没有看到这种行为(它对我很有用)。

我的代码显示此窗口:

- (IBAction) doAlert:(id)sender {
    if(self.alertVC == nil) {
        self.alertVC = [[[AlertVC alloc] initWithWindowNibName:@"AlertVC"] autorelease];
    }
    [NSApp runModalForWindow:self.alertVC.window];
}

和我关闭它的代码看起来像这样:

-(IBAction)closeWindow:(id)sender {
    [self close];
    [NSApp stopModal];
}

任何人都知道为什么这在我的所有测试中都能100%运行,但对于Apple测试人员而言,窗口不会消失? (即使应用程序继续运行,它仍然在前台保持打开状态,并且它们可以再次正常与应用程序交互。

1 个答案:

答案 0 :(得分:2)

我唯一看到的,可能导致错误的是,您没有关闭窗口,而是控制器(或者其他人提供closeWindow方法) 如果closeWindow是与doAlert相同的类的方法,则代码应如下所示:

-(IBAction)closeWindow:(id)sender {
    [self.alertVC.window performClose:self];
    [NSApp stopModal];
}

我知道答案已经很晚了,你可能已经找到了解决方案,但是我为所有那些在片段上磕磕绊绊的人提供了答案,并且想知道为什么它也会发生在他们身上。