我的问题是我无法确定是否可以从iOS小部件中打开某个URL。
由于没有UIApplication类,因此canOpenURL:方法在今天的窗口小部件上不可用。

此外,即使有无效的URL,NSExtensionContext的openURL方法也对 bool 值“成功”返回YES。

下面的代码输入else条件(成功BOOL始终为YES),但同时模拟器显示弹出错误,如您在所附图像中看到的那样。

NSURL* invalidURL = [NSURL URLWithString:@"fake://blablabla"];
[self.extensionContext  openURL:invalidURL completionHandler:^(BOOL success) {
    if (success == NO) {
        DDLogWarn(@"Can't open URL: %@", invalidURL);
    }
    else{
        DDLogInfo(@"Successfully opened URL: %@",invalidURL);
    }
}];

ios - 检查是否可以从今天的iOS小部件中打开URL-LMLPHP

最佳答案

这是一个已知的错误。去年iOS 8.0b5发行时,我向Apple(rdar://18107612)提出了此问题,但这仍然是一个 Unresolved 问题。

通过http://bugreport.apple.com向Apple提交您自己的错误,并希望取得最好的结果。

关于ios - 检查是否可以从今天的iOS小部件中打开URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33011211/

10-14 20:40
查看更多