Принудительно используйте UIApplication openURL для использования существующей вкладки, а не для открытия новой

#iphone #cocoa-touch #ios5 #mobile-safari

#iPhone #cocoa-touch #ios5 #мобильный-safari

Вопрос:

Я использую следующий код для открытия URL-адреса в Safari на iPad.

 [[UIApplication sharedApplication] openURL:url];
  

Проблема в том, что мне нужно открыть этот URL на существующей вкладке, а не открывать новую. Есть ли какой-либо способ сделать это?

(почему?: платформа автоматического тестирования. Я не хочу, чтобы iPad зависал, открывая сотни вкладок после запуска в течение длительного периода времени)

Комментарии:

1. Я не думаю, что есть способ «ПРИНУДИТЕЛЬНО» открыть URL-адрес для открытия на существующей вкладке. Как насчет создания приложения для iPad с использованием UIWebView и openURL с использованием пользовательской схемы URL? Помогает ли это?

2. К сожалению, UIWebView отличается от Safari с точки зрения функциональности. Я рассмотрел это, но оказалось, что оно слишком отличается.

3. Как насчет использования приложения Skyfire или любых других веб-браузеров для iPad?

Ответ №1:

Невозможно заставить Safari загрузить URL-адрес на существующей вкладке. Но я обнаружил, что если точно такой же URL-адрес уже открыт на существующей вкладке, эта вкладка используется при вызове [[UIApplication sharedApplication] openURL:url]; . Поэтому, если вы можете убедиться, что используете один и тот же URL во всех своих тестах, вы сможете избежать «сотен вкладок».