iOS 9.3.2 Custom URL Scheme не запускает приложение из Safari

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

Он отлично работает на моих тестовых устройствах, но я вижу проблему с пользователем, использующим Safari/9.0 на iOS/9.3.2 - ссылка просто ничего не делает!

Пользовательские схемы URL больше не поддерживаются? Нужно ли вместо этого начать использовать универсальные ссылки?

Для тех, кто заинтересован, вот код Javascript, который я использую в браузерах iOS (который работает 99% времени):

var timer;
var heartbeat;
var lastInterval;

window.addEventListener("pageshow", function(evt){
    clearTimers();
}, false);

window.addEventListener("pagehide", function(evt){
    clearTimers();
}, false);

function getTime() {
    return (new Date()).getTime();
}

// For all other browsers except Safari (which do not support pageshow and pagehide properly)
function intervalHeartbeat()
{
    var now = getTime();
    var diff = now - lastInterval - 200;
    lastInterval = now;
    if(diff > 1000)
    { // don't trigger on small stutters less than 1000ms
        clearTimers();
    }
}

function clearTimers()
{
    clearTimeout(timer);
    clearTimeout(heartbeat);
}

function intervalHeartbeat()
{
    if (document.webkitHidden || document.hidden)
    {
        clearTimers();
    }
}

function launch()
{
    lastInterval = getTime();
    heartbeat = setInterval(intervalHeartbeat, 200);
    timer = setTimeout(function ()
    {
        logErrorToMyServer();
    }, 2000);

    //Launch app via custom URL scheme
    window.location = "myapp://";
}

1 ответ

Пользовательские схемы URI были плохим вариантом с момента появления iOS 9.2. Apple определенно дала понять, что универсальные ссылки являются предпочтительным подходом к глубоким ссылкам.

Мне неизвестно о каких-либо ретроактивных изменениях, которые могли бы привести к тому, что Safari на 9.0 - 9.3.2 ничего не сделает в этой ситуации (по крайней мере, должно появиться всплывающее окно с ошибкой), но это будет по-прежнему не поддерживаться в обозримом будущем. будущее, и вы должны как можно скорее запустить и запустить Universal Links. Более подробная информация доступна в этом блоге.

Другие вопросы по тегам