3

无论我做什么,以下代码都会返回“成功:0”(即,它不会启动托管应用程序):

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

如果我直接在 Safari 中尝试 myapp://launch URL,它会工作并启动我的应用程序。然而,今日小部件拒绝启动它。它是沙盒的,我也检查了“传出连接”功能,但没有运气。我需要做些什么才能让它工作?

4

1 回答 1

5

奇怪的是,我只有在使用 NSWorkspace 时才能正常工作。为确保这与错误无关,我更改了代码以执行以下操作:

  if (![[NSWorkspace sharedWorkspace] openURL: url]) {
    [[self extensionContext] openURL:url completionHandler:^(BOOL success) {
      NSLog(@"Success? %i", success);
    }];
  } else {
    NSLog(@"Success!");
  }
于 2015-02-11T04:41:16.923 回答