iOS 8.3 共享扩展 - 启动 URL 计划
iOS 8.3 Share Extension - Launching URL Schemes
自从 iOS 8.3 更新我的共享扩展(使用 URL 方案调用我的主应用程序)停止工作。所以我发现我必须启动我的应用程序的 UIWebView 方法不再有效。我也尝试了 Apple 推荐的方法,使用 NSExtensionContext,但仍然没有结果。对此有什么想法吗?我的代码如下:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[self.view addSubview: webView];
NSString *urlString = "com.myappscheme://shareextension";
NSString * content = [NSString stringWithFormat : @"<head><meta http-equiv='refresh' content='0; URL=%@'></head>", urlString];
[webView loadHTMLString:content baseURL:nil];
和
[self.extensionContext openURL:[NSURL URLWithString:urlString] completionHandler:^(BOOL success)
{
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
我尝试从我的 SLComposeServiceViewController 控制器执行 didSelectPost 方法上的两个代码块,在将我的设备更新到 iOS 8.3
之前,它以前工作正常
extensionContext.openURL
仅适用于今日扩展。 Apple 没有提供 public API 来实现这一点,似乎在 iOS 8.3 中,Apple 已经阻止了一些解决方法。这似乎是设计使然。如果您认为需要此功能,请打开增强请求/错误报告。
你可以试试这个代码,这个可以,但我不知道是否会被 Apple 接受。
UIResponder* responder = self;
while ((responder = [responder nextResponder]) != nil) {
NSLog(@"responder = %@", responder);
if ([responder respondsToSelector:@selector(openURL:)] == YES) {
[responder performSelector:@selector(openURL:) withObject:[NSURL URLWithString:@""]];
}
}
自从 iOS 8.3 更新我的共享扩展(使用 URL 方案调用我的主应用程序)停止工作。所以我发现我必须启动我的应用程序的 UIWebView 方法不再有效。我也尝试了 Apple 推荐的方法,使用 NSExtensionContext,但仍然没有结果。对此有什么想法吗?我的代码如下:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
[self.view addSubview: webView];
NSString *urlString = "com.myappscheme://shareextension";
NSString * content = [NSString stringWithFormat : @"<head><meta http-equiv='refresh' content='0; URL=%@'></head>", urlString];
[webView loadHTMLString:content baseURL:nil];
和
[self.extensionContext openURL:[NSURL URLWithString:urlString] completionHandler:^(BOOL success)
{
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
我尝试从我的 SLComposeServiceViewController 控制器执行 didSelectPost 方法上的两个代码块,在将我的设备更新到 iOS 8.3
之前,它以前工作正常extensionContext.openURL
仅适用于今日扩展。 Apple 没有提供 public API 来实现这一点,似乎在 iOS 8.3 中,Apple 已经阻止了一些解决方法。这似乎是设计使然。如果您认为需要此功能,请打开增强请求/错误报告。
你可以试试这个代码,这个可以,但我不知道是否会被 Apple 接受。
UIResponder* responder = self;
while ((responder = [responder nextResponder]) != nil) {
NSLog(@"responder = %@", responder);
if ([responder respondsToSelector:@selector(openURL:)] == YES) {
[responder performSelector:@selector(openURL:) withObject:[NSURL URLWithString:@""]];
}
}