NSExtensionContext openURL无法在Mac OS X Today Widget上运行

时间:2015-02-11 03:51:41

标签: objective-c macos cocoa today-extension

无论我做什么,以下代码只返回'Success:0'(即,它不会启动托管应用程序):

  NSURL *url = [NSURL URLWithString:@"myapp://launch"];
  [[self extensionContext] openURL:url completionHandler:^(BOOL success) {
    NSLog(@"Success? %i", success);
  }];

如果我在Safari中直接尝试myapp://启动网址,它可以运行并启动我的应用。然而,Today Widget拒绝启动它。它是沙箱,我也检查过'Outgoing Connections'功能,但没有运气。我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:5)

奇怪的是,只有在我使用NSWorkspace时才能使用它。为了确保这不是与错误相关的内容,我已更改了我的代码以执行以下操作:

  if (![[NSWorkspace sharedWorkspace] openURL: url]) {
    [[self extensionContext] openURL:url completionHandler:^(BOOL success) {
      NSLog(@"Success? %i", success);
    }];
  } else {
    NSLog(@"Success!");
  }