В своем классе AppDelegate я пытаюсь обрабатывать глубокие ссылки, которые запускают мое приложение Xamarin для iOS, чтобы я мог перемещать пользователя в нужное место в приложении на основе URL-адреса.Я переопределяю все методы ContinueUserActivity и OpenUrl, однако ни один из этих методов никогда не вызывается (либо когда приложение закрыто, либо просто приостановлено). Я тестирую, включая глубокую ссылку (https://example.com/path1/path2) вСобытие в календаре iOS, затем нажмите на ссылку на моем iPhone 6 (под управлением iOS 12.3.1), когда приложение работает в режиме отладки. Мое приложение открывается, когда ссылка нажата, но ни одна из точек останова не была достигнута ни в одном изпереопределенные методы.
public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler) {
return true;
}
public override bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options) {
return true;
}
public new bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, UIKit.UIApplicationOpenUrlOptions options) {
return true;
}
public override bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation) {
return true;
}
Я думаю, что универсальные ссылки установлены правильно (связанные домены и т. д.), иначе это не запустило бы мое приложение. Также я подтвердил, чтомой метод FinishedLaunching возвращает true, так как я читал в другом месте, что если он возвращает false, то ContinueUserActivity и OpenUrl не вызываются. Вызываются другие переопределенные методы в AppDelegate, такие как OnActivation и WillContinueUserActivity, но не те, которые мне нужны для получения URL-адреса для глубокой ссылки..
Это ошибка Xamarin iOS? Или я что-то делаю вправильно?Я использую последнюю версию Xamarin iOS (12.8.0.2).
РЕДАКТИРОВАТЬ: немного больше информации ... Оказывается, что Firebase SDK виноват в разрыве глубоких ссылок.Если я отключу его, то нажатие на глубокую ссылку успешно вызовет ContinueUserActivity.Однако, как только я вызову Firebase.Core.App.Configure (), последующие щелчки по глубоким ссылкам все равно откроют приложение, но больше не вызовут ContinueUserActivity.Я не уверен, как обойти эту проблему, так как мне нужен Firebase для аналитики (Google Analytics скоро уходит ...)