我知道可以使用 openURL 方法从应用程序中启动另一个应用程序。如果该应用程序可以打开该 URL,也可以使用 canHandleURL 检查。
但是有没有办法调用一个应用程序,让它做一个计算然后返回结果?
看看这里(例如如何向被调用的应用程序发送文本)
在您的情况下:假设您有 2 个应用程序(app1 和 app2)和 2 个 url 方案(protocolThatCallsApp1://
和protocolThatCallsApp2://
)
在您的 app1 中,您使用 app2 调用 app2,protocolThatCallsApp2://
然后在 app2 中进行计算并使用 app1 调用,然后protocolThatCallsApp1://+yourCalculations
进行所需的解析以在 app1 中获取结果
第二个应用程序应该使用相同的机制 ( openURL
) 来调用第一个应用程序。
Facebook sdk 使用这种方法来实现单点登录:
如果应用程序在支持多任务处理的 iOS 版本中运行,并且设备安装了 3.2.3 或更高版本的 Facebook 应用程序,SDK 会尝试在 Facebook 应用程序中打开授权对话框。在用户授予或拒绝授权后,Facebook 应用程序重定向回调用应用程序,并传递授权令牌、过期时间和 Facebook OAuth 服务器可能返回的任何其他参数。