Я использую схему URL, чтобы открыть приложение из виджета сегодня. Все работало нормально - при нажатии на виджет загружалось приложение и выполнялся этот метод из AppDelegate.
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {}
Позже я добавил схему URL для входа в facebook, и приложение все еще открывается из виджета, но этот метод из AppDelegate не выполняется. Вход в Facebook работает нормально.
Моя часть info.plist о схемах URL-адресов теперь выглядит так.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>MY_URL_SCHEME</string>
<string>fb{someid}</string>
</array>
</dict>
</array>
Обновление: я обнаружил, что Facebook также нужен этот метод в AppDelegate.
@available(iOS 9.0, *)
func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
return SDKApplicationDelegate.shared.application(application, open: url, options: options)
}
Таким образом, он также фиксирует запуск из виджета. Как мне использовать оба этих метода?