Xcode11以降のProjectでUniversal LinksやCustom URL Schemeを使用する際の注意点

Dynamic Linkを使用しようと思い、Universal Linkを受ける部分の下記メソッドを書いたところ、どれだけデバッグしてもここメソッドが呼ばれない。

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool

原因

Universal LinksやCustom URL Schemeに関しては、SceneDelegateのメソッドを使用するようになっているためでした。

解決方法

SceneDelegateに下記メソッドを書くことで、Universal Links実行時に処理が実行されることを確認できました。

func scene(_ scene: UIScene, continue userActivity: NSUserActivity)

Xcode11以降で新規プロジェクトを作成してSceneDelegateを使用している場合は、AppDelegateのメソッドは呼ばれなくなっているため、注意が必要でした。

追記

Custom URL Schemeのコールバック処理について、Qiita記事があったため、リンク貼っておきます。

qiita.com