Моя проблема в том, что я не могу узнать, можно ли открыть определенный URL-адрес из виджета iOS. Метод canOpenURL: недоступен в сегодняшнем виджете, потому что не существует класса UIApplication.
Более того, метод openURL: of NSExtensionContext возвращает ДА для логического "успех", даже с недопустимым URL-адресом.
Приведенный ниже код входит в условие 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);
}
}];