Intereting Posts
Может ли кто-нибудь сказать API, чтобы добавить шарики Phillips Hue Bridges? Реактивное какао: ответ от HTTPRequest с использованием RACCommand Заполнить экран узлами In-App-Purchase – Restore Purchase не работает? Навигация между элементами панели вкладок Программно Obj C – Как применить фильтр GPUImage поверх видео, которое воспроизводится на петле в AVPlayer (видеоплеер)? пользовательский урожай в объекте C Почему я должен обновлять свои приложения до iOS 5? Заменить контроллер родительского контроля Как получить результаты JSON как особый порядок в ios? Почему заголовочные файлы в Objective-C имеют как операции импорта, так и выражения класса вверху? Сделайте несколько NSURLConnections и используйте sendAsynchronousRequest: queue: completeHandler: метод iOS 5 UIImage imageОриентация всегда читается противоположно тому, как изображение фактически выполняется iOS отменит код с профилем App Store и опубликуйте в AppStore Динамический размер подпрограмм UITableViewCell с прототипами раскадровки

Facebook App Invites открывает SafariViewController вместо собственного приложения

Я пытаюсь реализовать функцию App Invites от Facebook, и я бы хотел, чтобы мои пользователи перенаправлялись в приложение Native Facebook (если оно установлено на устройстве пользователя).

Тем не менее, событие, хотя приложение Facebook Native установлено на устройстве, оно никогда не открывается, вместо этого приглашение Dialog всегда открывается в SafariViewController (см. Прикрепленное изображение ниже). Это нежелательно, потому что большую часть времени пользователь не регистрируется в Safari и отказывается от выполнения задачи «пригласить».

Вот версии SDK, которые я использую для создания приложения:

  • iOS: 9,0
  • Facebook iOS SDK: 4.6.0
  • Facebook Unity SDK: 7.1.0

Я прочитал « Подготовка ваших приложений для iOS9» и уже заполнил свой Info.plist всеми возможными схемами URL-адресов:

<key>LSApplicationQueriesSchemes</key> <array> <string></string> <string>http</string> <string>https</string> <string>mailto</string> <string>fb</string> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> <string>fbapi20130214</string> <string>fbapi20130410</string> <string>fbapi20130702</string> <string>fbapi20131010</string> <string>fbapi20131219</string> <string>fbapi20140410</string> <string>fbapi20140116</string> <string>fbapi20150313</string> <string>fbapi20150629</string> <string>fbauth</string> <string>fb-messenger-api20140430</string> <string>fb-messenger-platform-20150128</string> <string>fb-messenger-platform-20150218</string> <string>fb-messenger-platform-20150305</string> </array>

Тем не менее, SafariViewController всегда открывается вместо приложения Native Facebook.

Как я могу использовать приложение «Пригласить Пригласить», используя приложение Native Facebook?

Приглашение к программе в SafariViewController

Похоже, что это было разработано Facebook, очевидно, что Facebook предпочитает использовать SafariViewController, чтобы не потребовать разрешения на переход приложения несколько раз. Вы можете проверить FAQ здесь

Вопросы-Ответы

Почему при вызове диалога появляется диалоговое окно предупреждения «хочет открыть Facebook»?

В iOS 9 коммутаторы приложений могут запрашивать у пользователя диалог подтверждения. SDK попытается свести к минимуму частоту этого выбора, выбрав лучший доступный диалог (например, SafariViewController), но это по дизайну в iOS 9.