Можно ли обрабатывать собственные схемы 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 делала это, либо...