Недавно я обнаружил, что мой UIWebView удушал ссылки ITMS. В частности, из UIWebView в моем приложении, если я перейду на сайт, например этот, и нажмите ссылку "Доступно в магазине приложений", UIWebView будет ошибкой с "Error Domain = WebKitErrorDomain Code = 101 Невозможно показать URL."
После небольшого Googling я понял, что мне нужно уловить запросы на ссылки на приложения и обработать их iOS. Я начал с того, что посмотрел, начинается ли схема с "itms" в -webView:shouldStartLoadWithRequest:navigationType:, но поняла, что могут быть другие типы ссылок на приложения, которые система может обрабатывать. Поэтому я придумал это, вместо этого:
- (void)webView:(UIWebView *)wv didFailLoadWithError:(NSError *)error {
    // Give iOS a chance to open it.
    NSURL *url = [NSURL URLWithString:[error.userInfo objectForKey:@"NSErrorFailingURLStringKey"]];
    if ([error.domain isEqual:@"WebKitErrorDomain"]
        && error.code == 101
        && [[UIApplication sharedApplication]canOpenURL:url])
    {
        [[UIApplication sharedApplication]openURL:url];
        return;
    }
    // Normal error handling…
}
У меня есть два вопроса:
- Это здорово? Я специально проверяю код ошибки и код ошибки и извлекаю строку URL из userInfo. Возможно, этот материал останется?
 -  Это работает для связанного с ним связанного хранилища приложений, но когда я переключаюсь обратно в свое приложение, похоже, последовал неудачный запрос с неудачей с "Прерывание кадров". как я могу избавиться от этого? Этого не происходит, когда у меня есть ОС, обрабатывающий запрос от 
-webView:shouldStartLoadWithRequest:navigationType:, так что это немного раздражает. 
Как вы обрабатываете такие запросы?