NSExtensionContext openURL 不适用于 Mac OS X Today Widget
NSExtensionContext openURL not working on Mac OS X Today Widget
无论我做什么,下面的代码只是 returns 'Success: 0'(即,它不会启动托管应用程序):
NSURL *url = [NSURL URLWithString:@"myapp://launch"];
[[self extensionContext] openURL:url completionHandler:^(BOOL success) {
NSLog(@"Success? %i", success);
}];
如果我直接在 Safari 中尝试 myapp://launch URL,它会运行并启动我的应用程序。但是 Today Widget 拒绝启动它。它是沙盒的,我也检查了 'Outgoing Connections' 功能,但没有运气。我需要做什么才能让它正常工作?
奇怪的是,我只有在使用 NSWorkspace 时才能正常工作。为确保这与错误无关,我更改了代码以执行以下操作:
if (![[NSWorkspace sharedWorkspace] openURL: url]) {
[[self extensionContext] openURL:url completionHandler:^(BOOL success) {
NSLog(@"Success? %i", success);
}];
} else {
NSLog(@"Success!");
}
无论我做什么,下面的代码只是 returns 'Success: 0'(即,它不会启动托管应用程序):
NSURL *url = [NSURL URLWithString:@"myapp://launch"];
[[self extensionContext] openURL:url completionHandler:^(BOOL success) {
NSLog(@"Success? %i", success);
}];
如果我直接在 Safari 中尝试 myapp://launch URL,它会运行并启动我的应用程序。但是 Today Widget 拒绝启动它。它是沙盒的,我也检查了 'Outgoing Connections' 功能,但没有运气。我需要做什么才能让它正常工作?
奇怪的是,我只有在使用 NSWorkspace 时才能正常工作。为确保这与错误无关,我更改了代码以执行以下操作:
if (![[NSWorkspace sharedWorkspace] openURL: url]) {
[[self extensionContext] openURL:url completionHandler:^(BOOL success) {
NSLog(@"Success? %i", success);
}];
} else {
NSLog(@"Success!");
}