我有一个第一个iOS原生应用程序(比如说“来电应用程序”)打开第二个(比如说“callee app”),其网址为Widget
(通用链接)。我希望用户在“被调用者应用程序”中执行某些任务,完成后我想回到自动到“调用者应用程序”,提供此类任务的结果(URL将是类似于https://calleeapp.com
)。
处理此问题的最佳/适当方式应该是什么?
答案 0 :(得分: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
,以便调用者应用知道它可以打开网址那个计划。 (反之亦然,如果你还要实施那个,那就是被调用者应用程序)