2015-11-26 2 views
1

У меня были универсальные ссылки, работающие над моим приложением iOS 9. Если бы я нажал на UL по электронной почте или текстовому сообщению, это запустило бы мое приложение, как ожидалось.Что может заставить универсальные ссылки iOS перестать работать?

Затем я добавил считыватель QR-кода и использовал openURL(), чтобы открыть UL, встроенный в QR-код, из моего приложения (которое должно было обрабатываться самим приложением).

В одном тестовом прогоне URL-адрес, встроенный в QR-код, был искажен: в конце он имел CR/LF, и когда приложение попыталось открыть его, оно разбилось (у меня нет журнала сбоев/след к сожалению).

Как я исследовал авария, я понял, что openURL() не предназначен для работы с UL, поэтому я исправил код, чтобы мое приложение обрабатывало URL по-разному, но теперь ни один из UL не работает с моим приложением больше: что используемый для работы с электронной почтой или текстовым сообщением больше не работает (он запускает Safari вместо моего приложения).

Я устанавливаю свое приложение через TestFlight, и я вижу на своем бэкэнде, что файл ассоциации apple-app-site-association растягивается, но он все равно не будет работать.

Важные данные (которые, как я знаю, что проблема с состоянием на этом конкретный телефоне): же приложение на другого телефона открывает ULS правильно. Это как если бы одна ошибка, с которой я столкнулся, помещала телефон в состояние, которое всегда будет запускать Safari для этих URL независимо от того, что.

Это единственный телефон, который проявляет эту проблему.

То, что я пытался без успеха:

  • деинсталлировать приложение полностью
  • перезагрузка

Не уверен, что попробовать следующий. Заранее спасибо за помощь.

+0

Странно, что он не работает на одном телефоне, а находится на другом. Являются ли версии iOS одинаковыми? У меня проблемы с этой работой. Вы получили его на работу? – valheru

+0

Он начал работать через некоторое время (ничего особенного, что я сделал: я предполагаю, что в какой-то момент телефон вошел в какой-то «флеш-кеш» или «перезагрузился», и он снова начал работать). – BearOverflow

ответ

1

Возможно, вы нажали на ссылку в правом верхнем углу строки состояния, чтобы открыть один из ваших UL в Safari. После этого в Safari откроются все последующие UL.

В Safari вытащите страницу, пока не увидите значок Smart-App-Banner. Затем нажмите «Открыть», и UL должны снова работать.

+0

спасибо! но я не реализовал какой-либо смарт-баннер на моем бэкэнд, поэтому ничего не показывает ... но вы даете мне отличную идею -> поддерживайте смарт-баннеры! что может помочь отключить мой телефон из этого состояния. – BearOverflow

+0

Также это больше не работает для devbuild. Значок смарт-приложений указывает на живую сборку, поэтому, как только вы устанавливаете сборку dev, она говорит «View» и переносит вас в хранилище приложений вместо открытия dev build = ( – valheru