2016-05-20 5 views
12

В приложениях iOS 9 не удается использовать canOpenURL, чтобы проверить, установлено ли приложение.Как работает ссылка facebook app без объявления LSApplicationQueriesSchemes?

Если ваш (IOS 9.0 или более поздней версии) приложение вызывает этот метод с использованием схемы вы не объявленную, метод возвращает ложь, или нет установлен соответствующее приложение для схемы на устройстве.

, но мне интересно, как приложение facebook может направить пользователя в appstore, если приложение не установлено, или открыть целевое приложение, если оно установлено!

facebook не может перечислить все приложения в LSApplicationQueriesSchemes!

Благодаря

+0

может быть его яблоком исключение, потому что у яблока есть опция для настроек Facebook, особенно в настройках приложения. Но где вам это нужно для вашего приложения. Я имею в виду, чего вы хотите добиться на самом деле? –

ответ

1

От canOpenURL:documentation:

В отличие от этого метода OpenUrl: метод не сдерживается UIDefaultLaunchStoryboard требованием : Если приложение, которое обрабатывает схему устанавливается на устройстве, метод openURL: работает ли или , вы не указали эту схему.

Таким образом, они делают следующее:

1) Попробуйте позвонить openURL: с FB-совместимой URLs, например fb[app-id]://authorize..., пока она не возвращает истины (я проверил это, они звонят много адресов, например fb[app-id]lite, fb[app-id]mac, fb[app-id]paid, fb[app-id]green и др.). Если он преуспеет, откроется целевое приложение.

2) Если нет успеха с заходом openURL:, они пытаются назвать canOpenURL: с http://itunes.apple.com/app/... URL, а затем вызвать openURL: с тем же ссылкой. Пользователь перенаправляется в App Store.

 Смежные вопросы

  • Нет связанных вопросов^_^