Иногда URL-адрес поврежден или содержит символы, которые UIWebView
не распознает и, следовательно, не покажет вам интересующую вас страницу / PDF-файл. Попробуйте это, используйте stringByAddingPercentEscapesUsingEncoding
, чтобы попытаться удалить любые пробелы и замените их процентами, которые могут быть в URL.
NSURL *url = [NSURL URLWithString:
[browserLink stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
Обычно это работает, однако в прошлом у меня были проблемы, когда это не решало проблему для меня. Вместо этого я использовал метод stringByReplacingOccurrencesOfString
для замены символов.
NSURL *url = [NSURL URLWithString:
[browserLink stringByReplacingOccurrencesOfString: @" " withString:@"%20"]];
EDIT
Бретань, проблема для вас в App Transport Security . Убедитесь, что ваш файл info.plist
содержит следующие ключи для применения настроек ATS:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>pdfpdf.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
С этим изменением для вас будет работать следующий код.
NSString *browserLink = self.linkProgram[@"body"];
NSURL *url = [NSURL URLWithString:browserLink];
UIWebView * webView = [[UIWebView alloc] initWithFrame: self.view.frame];
[self.view addSubview:webView];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
РЕЗУЛЬТАТ