Можно ли обрабатывать собственные схемы URL-адресов в iOS?

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

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

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

До сих пор мне не повезло

Ответ 1

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

  • Зарегистрируйте настраиваемую схему URL как показали другие ответы.

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

  • Поместите script на эту страницу, чтобы перенаправить ваш пользовательский 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

Ответ 2

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

Для этого требуется некоторая конфигурация веб-сервера (вам нужен веб-сайт), но после установки зарегистрированное приложение откроет ссылку вместо Safari.

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

Ответ 3

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

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

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

Ответ 4

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

И я не вижу, чтобы Apple делала это, либо...