自iOS 8.3更新我的共享扩展(使用URL Schemes调用我的主应用程序)停止工作.所以我发现我必须启动我的应用程序的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];
Run Code Online (Sandbox Code Playgroud)
和
[self.extensionContext openURL:[NSURL URLWithString:urlString] completionHandler:^(BOOL success)
{
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
Run Code Online (Sandbox Code Playgroud)
我尝试从我的SLComposeServiceViewController控制器执行didSelectPost方法的两个代码块,这是之前它工作正常,然后将我的设备更新到iOS 8.3
我正在使用canOpenURL打开应用程序(如果安装在设备中)。并添加LSApplicationQueriesSchemes将方案列入白名单。但是当 canOpenURL 返回 false 时,它总是在控制台日志中打印出不必要的错误消息。以下是我收到的错误消息。
\n\n-canOpenURL: failed for URL: "XXXX://XXXXXXXXXXXXX" - error: "The operation couldn\xe2\x80\x99t be completed. (OSStatus error -10814.)\nRun Code Online (Sandbox Code Playgroud)\n\n由于我在应用程序中使用多种方案,并且我的客户不想要这些错误消息日志。有什么方法可以避免将这些警告/日志消息打印到控制台。
\n\n这是雷达链接(类似问题)。没有任何解决方案就关闭了。
\n\n目前我正在使用 iOS 11。\n任何帮助将不胜感激。
\n如何使用url方案或其他方式打开ios的本机文件应用程序?我尝试搜索网址方案,但没有运气。
这个问题似乎没有答案,在苹果论坛上有这个问题的线索开放,但是仍然没有答案。 https://forums.developer.apple.com/message/257860#257860 可以使用捆绑包标识符来完成吗?