Я пытаюсь открыть приложение iOS из приложений iOS для facebook/twitter.Ссылка на приложение iOS можно открыть из gmail/safari, но не из facebook/twitter
Для этого я использую ссылку на приложение, используя ключ в info.plist
: CFBundleURLSchemes
.
Что я делаю, чтобы иметь приемлемую ссылку в сообщении twitter/facebook, я использую фальшивую веб-страницу, которая имеет функцию перенаправления меня на ссылку url моего приложения. например: «myapp: //»
Это прекрасно работает, если я открою свой пост в facebook (url) с помощью сафари.
Но когда дело доходит до приложений facebook/twitter, оно перенаправляется на новую веб-страницу, но не вызывает всплывающее окно для открытия моего приложения. Я вижу в ошибке журналов: «Это приложение не разрешено запрашивать для схемы myapp»
Прежде всего я понял, что это связано с ограничением iOS 9, где вы должны указать в своем белом списке [LSApplicationQueriesSchemes
], какое приложение ссылается на вас принимают, чтобы открыть из вашего приложения.
Но удивительно, что при попытке открыть одну и ту же веб-страницу из приложения Gmail (это не приложение ОС) оно открывает мое приложение без проблем.
Я делаю что-то неправильно?
Я думаю, это связано с тем, что facebook/twitter не используют браузер iOS по умолчанию, они не могут открывать какое-либо приложение, если они не перечисляют его в info.plist под LSApplicationQueriesSchemes. –
Это может быть из-за того, что, как вы упомянули, что внутренние браузеры Facebook и Twitter обрабатывают Universal Links. Множество различных приложений и браузеров нарушают универсальные ссылки (относящиеся к iOS9.2 и более поздние версии), и во многих случаях это включает Facebook и Twitter. Иногда вы можете сделать эту работу для Twitter и/или Facebook, если веб-просмотр уже открыт. Они не работают в приложении из фида/основных видов. Они также должны быть междоменными. – jeanmw
Я исправил это, используя метаданные на своей веб-странице. для facebook они называют это «App Link», а для twitter: «Карта приложения» –