Ответ 1
От canOpenURL:
документация:
В отличие от этого метода, метод openURL: не ограничивается Требование UIDefaultLaunchStoryboard: если приложение, которое обрабатывает схему установлен на устройстве, метод openURL: работает ли вы не указали эту схему.
Итак, они делают следующее:
1) Попробуйте вызвать openURL:
с fb-совместимыми URL-адресами, например fb[app-id]://authorize...
, пока не вернется true (я проверил его, они вызывают множество URL-адресов, например 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.