NSSavePanel在El Capitan上崩溃

时间:2015-09-07 14:41:55

标签: objective-c macos nssavepanel

我正在使用NSSavePanel并使用IKSaveOptions在其上添加附件视图。

Pre-Yosemite它效果很好然后Yosemite导致了崩溃:NSSavePanel crashes on Yosemite

我在一年前实施了此修复程序。现在El Capitan出现了,但是在不同的位置发生了类似的崩溃。

当前代码:

<(seq ..)

上面的代码在Yosemite上完美运行但是在El Capitan上我尝试使用Exception调用addSaveOptionsAccessoryViewToSavePanel时抛出异常:

    // Let the user choose an output file, then start the process of writing samples
    NSSavePanel *savePanel = [NSSavePanel savePanel];
    _saveOptions = [[IKSaveOptions alloc] initWithImageProperties: _imageProperties
                                                      imageUTType: _imageUTType];

    [_saveOptions addSaveOptionsAccessoryViewToSavePanel: savePanel];
    NSView * accessoryView = savePanel.accessoryView;
    if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_8)
    {
        [accessoryView setTranslatesAutoresizingMaskIntoConstraints:YES];
    }
    [savePanel setCanSelectHiddenExtension:YES];
    [savePanel setNameFieldStringValue:[[_window representedFilename] lastPathComponent]];
    [savePanel beginSheetModalForWindow:_window completionHandler:^(NSInteger result) {
        if (result == NSFileHandlingPanelOKButton)
            [self savePanelDidEnd:savePanel returnCode:result];
    }];

那么我该如何设置它以适应El Capitan呢?事实上,我甚至无法进入附件视图,因为已经抛出异常,这使得这非常困难。

0 个答案:

没有答案