Objective c NSOpenPanel在选择后重新打开

Objective c NSOpenPanel在选择后重新打开,objective-c,macos,appstore-sandbox,Objective C,Macos,Appstore Sandbox,一些用户报告说,他们无法在我的沙盒应用程序中选择文件,因为当他们选择并重新打开该项目时 我的代码中没有重新打开面板的地方,所以我有点困惑为什么会发生这种情况 我的一位用户说,控制台中多次登录以下消息: “钥匙链沙盒使用扩展错误:s=-1 p=无法分配内存” 我已经要求他们对他们的钥匙链进行急救,并修复他们的磁盘权限,但这没有帮助 有人知道这是什么原因吗 谢谢大家! 以下是触发NSOpenPanel的代码: - (IBAction)selectHomeDirectory:(id)sender {

一些用户报告说,他们无法在我的沙盒应用程序中选择文件,因为当他们选择并重新打开该项目时

我的代码中没有重新打开面板的地方,所以我有点困惑为什么会发生这种情况

我的一位用户说,控制台中多次登录以下消息:

“钥匙链沙盒使用扩展错误:s=-1 p=无法分配内存”

我已经要求他们对他们的钥匙链进行急救,并修复他们的磁盘权限,但这没有帮助

有人知道这是什么原因吗

谢谢大家!

以下是触发NSOpenPanel的代码:

- (IBAction)selectHomeDirectory:(id)sender {
  NSOpenPanel *openPanel = [NSOpenPanel openPanel];
  [openPanel setTitle:@"Select your home folder"];
  [openPanel setMessage:@"Select your home folder..."];
  [openPanel setPrompt:@"Choose"];
  [openPanel setCanCreateDirectories:NO];
  [openPanel setCanChooseFiles:NO];
  [openPanel setCanChooseDirectories:YES];
  [openPanel setExtensionHidden:YES];
  [openPanel setAllowedFileTypes:nil];
  [openPanel setAllowsMultipleSelection:NO];
  [openPanel setDelegate:self];
  [openPanel setDirectoryURL:[NSURL fileURLWithPath:@"/Users/"]];

  [openPanel beginSheetModalForWindow:self.window completionHandler:^(NSInteger result) {
    if(result != NSOKButton || !openPanel.URL){
      return;
    }

    /* Saves the scoped URL, and then triggers a view change */
  }];
}

这是一个小牛的问题,在后来的种子中得到了修复。

>我的代码中没有,你的代码在哪里?你的发展目标是什么?您使用的Xcode版本是什么?跳过基础知识不会让你有任何进展。嘿,对不起,我完全没有时间添加这些信息。我已经在问题中添加了触发打开面板的代码。我的目标是10.7和10.8,问题出现在10.8上。我正在运行Xcode 4.6.3.Off-topic,但是:
[NSString stringWithFormat:@“选择您的主文件夹…”
可以简化为
@选择您的主文件夹…”
。谢谢,我最初是这样做的,但我做了一些更改,从未恢复。