Можно ли обрабатывать свои собственные схемы http URL в iOS? - PullRequest
66 голосов
/ 10 декабря 2010

iTunes, App Store и YouTube на iOS четко регистрируют http: // ... схемы URL для открытия своих приложений.

Может кто-нибудь сделать это, не только ваш собственный протокол?

Я хочу сделать это потому, что работаю над приложением для фестиваля.Я хочу «перехватить» ссылки на определенные страницы на сайте и запустить приложение, если оно установлено.

Пока что мне не повезло

Ответы [ 4 ]

61 голосов
/ 21 июля 2012

То, как вы можете сделать это для "http://" URL-адресов (и, как я думаю, делают Apple и Spotify), это:

  1. Регистрация пользовательской схемы URL какдругие ответы показали .

  2. Настройте свой URL-адрес HTTP, чтобы он указывал на реальную веб-страницу.

  3. Установите сценарий для этогостраница для перенаправления на ваш пользовательский URL, если на iOS.

Например, вот примерная страница, которая приведет вас в приложение Twitter для конкретного пользователя или на сайт Twitter в зависимости отесли вы находитесь в Интернете или на своем устройстве iOS:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Twitter</title>
</head>
<body>
    <script type="text/javascript">
        var username = document.location.search.substr(1);
        document.location.replace(
            "standalone" in window.navigator ?
            'twitter:@'+username :              // iOS
            'http://twitter.com/'+username);    // others
    </script>
</body>
</html>

Попробуйте здесь: http://bl.ocks.org/d/3153819/?mckamey

43 голосов
/ 15 марта 2016

iOS 9 поддерживает Универсальные ссылки , что позволяет iOS запускать приложение на основе стандартного http:// URL-адреса (на основе имени хоста) без необходимости проходить Safari.* Требуется некоторая настройка веб-сервера (вам нужен веб-сайт), но после настройки зарегистрированное приложение откроет ссылку вместо Safari.

Для пользователей, у которых нет iOS 9, вы можете использовать Смарт-баннеры , чтобы упростить процесс.

4 голосов
/ 17 августа 2011

К сожалению, я не думаю, что вы можете сделать это.Вы можете зарегистрировать свою собственную схему, например yourFestival: //, и передавать данные из внешнего мира (SMS, электронная почта, другие приложения) в свое приложение.

Я написал сообщение в блоге об этом здесь: Использованиепользовательские схемы и передача данных между приложениями iOS.

Надеюсь, это поможет.

2 голосов
/ 10 декабря 2010

Нет, вы можете зарегистрировать только собственные схемы.

И я не могу видеть, как Apple делает это, либо ...

...