我编写了一个 HTML5 应用程序,并在 Cocoa for Mac 中为它制作了一个包装器。我正在编写一个方法,该方法将获取一个 url 并让用户将其保存到他们的磁盘上。到目前为止的方法如下:
- (void) downloadFile: (NSString *) url {
NSSavePanel * savePanel = [NSSavePanel savePanel];
[savePanel setAllowedFileTypes: @[@"png"]];
[savePanel setNameFieldStringValue:@"test"];
[savePanel beginWithCompletionHandler:^(NSInteger result){
//NSArray * files = [[openDlg URLs] valueForKey: @"relativePath"];
//[resultListener chooseFilenames: files] ;
}];
[savePanel runModal];
}
但是,当我调用该方法时(在创建窗口很久之后),我的应用程序崩溃并且我在控制台中收到此错误:2013-07-21 18:23:05.067 Reditr[31458:d11f] RVS:__54-[NSRemoteSavePanel _runOrderingOperationWithContext: ]_block_invoke_0319 : 等待窗口超时