iPhone, открывающий контент из webView в Safari - PullRequest
0 голосов
/ 10 марта 2011

У меня есть приложение для iPhone с некоторыми данными и небольшим WebView.Всякий раз, когда пользователь касается веб-просмотра, он должен открывать браузер Safari.

Проблема в том, что когда я закрываю открытое Safari и снова запускаю свое приложение, оно сразу открывает полноэкранный Safari.Как я могу предотвратить это?

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {   
    NSURL* url = [request URL];
    [[UIApplication sharedApplication] openURL:url];
    return YES;
}

До того, как я использовал тот же код с if (UIWebViewNavigationTypeLinkClicked == navigationType) условием, но с этим 1-е касание открывалось внутри моего небольшого веб-просмотра вместо уже в полноэкранном браузере.

Есть идеи, как это исправить?Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Пришлось перейти к опции «приложение не запускается в фоновом режиме» в файле app-Info.plist. Это решает проблему приложения, начинающегося с сафари после возвращения из фона ..

1 голос
/ 10 марта 2011

Вы установили точку останова в shouldStartLoadWithRequest: чтобы понять, почему он вызывается снова при повторном открытии приложения? Я удивлен, что это так.

Вы можете установить флаг в applicationDidEnterBackground при выходе из приложения и проверить его в applicationDidEnterForeground и использовать его для защиты запроса openURL, чтобы он не вызывался дважды. Это немного сумбурно, но я думаю, что вам лучше разобраться с тем, что вызывает shouldStartLoadWithRequest во второй раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...