我的问题是我无法确定是否可以从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 8.0b5发行时,我向Apple(rdar://18107612)提出了此问题,但这仍然是一个 Unresolved 问题。
通过http://bugreport.apple.com向Apple提交您自己的错误,并希望取得最好的结果。
关于ios - 检查是否可以从今天的iOS小部件中打开URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33011211/