如何检测该应用程序正在从 safari 重定向打开?

how to detect that app is opening from safari redirect?

我想检测 Safari 重定向到我的应用程序。 当我在 safari 中输入 URI (deeplink) AppName://parameter/id 时,它会用主页屏幕打开我的应用程序,但我想根据 link 中的 id 重定向到特定屏幕.

当我从推送通知发送相同的深度link url 时,它会调用 didReceiveRemoteNotification 并且我将重定向到那里。

从safari重定向后有什么方法可以调用吗?

如何检测我的应用程序是否已从 Safari 启动(或在前台打开)?

我在 objective c 项目中。 XCode9.

需要使用"Implementing a Custom URL Scheme" 看这里: http://www.idev101.com/code/Objective-C/custom_url_schemes.html

我认为您不知道要打开哪个应用程序。您唯一知道的是使用了哪个 URL。现在您可以从您的应用程序委托中捕获 url。参见 application:openURL:options:

我在代码中弃用了打开 Url 的方法,该方法未被调用。

我用新方法替换它 application:openURL:options: 并且有效。