У меня возникли проблемы с загрузкой видео youku.com внутри UIWebView в моем приложении. Я уверен, что это связано с безопасностью приложений App Transport, потому что замена встраивания на HTTPS-URL работает отлично. Разумеется, нет эквивалентного URL HTTPS, потому что Китай.Как отлаживать NSAllowsArbitraryLoads не работает?
Я читал о различных настройках NSAppTransportSecurity. Моим первым инстинктом, конечно, было попробовать NSAllowsArbitraryLoads, чтобы хотя бы проверить проблему, но это не сработало. Затем я последовал за различными онлайн-гидами, которые показывают, как NSExceptionDomains, как вы предполагали, но это тоже не работает.
И теперь я застрял. FWIW, я ловлю ошибки URL загрузки, как это:
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
...
if (error.code == NSURLErrorCancelled)
{
NSLog(@"NSURLErrorCancelled: URL %@ error %@", urlString, error);
}
}
На данный момент я использую фиктивный тест URL exon.name, и производит:
2015-12-02 15:47:22.312 ZaoMengShe[81707:903426] NSURLErrorCancelled: URL https://dev1.zaomengshe.com/c/54260 error Error Domain=NSURLErrorDomain Code=-999 "(null)" UserInfo={NSErrorFailingURLKey=http://exon.name/, NSErrorFailingURLStringKey=http://exon.name/}
Чтобы подтвердить, -999 это ошибка, когда приложение Transport Security делает это, правильно? (Это не очень информативная ошибка!)
Другое дело, как указано в. NSAllowsArbitraryLoads not working, заключается в том, что вам нужно отредактировать файл «Info.plist». У меня нет такого файла. У меня есть «ZaoMengShe-Info.plist» («ZaoMengShe» - это имя моего приложения). Но ни один из вопросов не показывает фактический скриншот, включая имя файла, поэтому для всех я знаю, что каждый файл Info.plist фактически включает имя приложения, и это нормально. Я ошибаюсь?
код ошибки '-999' означает ошибку' kCFURLErrorCancelled'. – holex