2

我有一个第一个 iOS 本机应用程序(比如说“调用者应用程序”),它打开了第二个(比如说“被调用者应用程序”),其 URL 为https://calleeapp.com(通用链接)。我希望用户在“被调用者应用程序”中执行一些任务,完成后我想自动返回到“调用者应用程序”,提供此类任务的结果(URL 将类似于https://callerapp.com/check?result=xxxx)。

处理此问题的最佳/适当方法应该是什么?

4

1 回答 1

0

我们将,您需要能够在被调用者和调用者应用程序上都有代码,然后才能执行此操作。(除非第三方应用为回调 URL 实现了某种 API)。

在调用者应用程序上,尽管您想查看以下 AppDelegate 方法:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    // if it opened the app from some link
    if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
        // the query will give you "result=xxxx"
        if let query = userActivity.webpageURL?.query {
             // code that pulls out the result from the string you get back
        }
     ...

您还必须通过确保您AppName.entitlements的关联域键具有其中一个值来实际支持通用链接,applinks:callerapp.com以便调用者应用程序知道它可以在该方案中打开 url。(反之亦然,如果您也正在实施,则在被调用者应用程序上)

于 2018-05-30T19:21:43.813 回答