在iPhone上,我能否从一个应用程序中启动另一个应用程序?

19

我想创建一个应用程序,必须启动另一个应用程序并在最后运行一些功能。

我的意思是,我的应用程序A调用应用程序B并在B中运行一些方法。

我可以做到这一点吗?

我知道我想使用URL方案,但是我能在另一个应用程序中运行某些方法吗?

谢谢!

2个回答

37

你可以使用自定义URL Scheme来实现这个功能。请参阅与其他应用程序通信

应用程序B需要注册一个自定义URL Scheme,应用程序A使用它来启动B并传递命令。

以下代码片段说明了一个应用程序如何请求另一个应用程序的服务。在此示例中,“todolist”是由应用程序B注册的假想自定义Scheme。

NSURL *myURL = [NSURL URLWithString:@"todolist://www.acme.com?Quarterly%20Report#200806231300"];
[[UIApplication sharedApplication] openURL:myURL];

链接出现404错误,应该是 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html。 - Quanlong
根据苹果应用商店审核指南,这种类型的应用将被拒绝。参考: https://developer.apple.com/app-store/review/guidelines/ 安装或启动其他可执行代码的应用将被拒绝。 - Daisy
不,这是苹果API的一部分,并且在跨应用程序切换中很常见。它不会使一个应用程序安装其他应用程序或执行外部代码。可以将其视为深度链接到其他应用程序并传递参数,就像网站上的URL可能链接到另一个站点一样。 - TheCodeKing

-17

不行,苹果对这种事情非常严格。iOS沙箱设计根本不允许这样做。我能想到的唯一方法是弹出一个提示视图,非常礼貌地请求用户去做 :) .... 要么就调用服务器并在服务器上执行你的方法,但从一个应用程序触发另一个应用程序的方法肯定是不行的。你甚至无法检测到用户安装了哪些应用程序...


4
谢谢回复!我们有能力从其他应用程序启动一个应用程序。请查看我帖子中的答案,也许这对你未来有所帮助。 - Matrosov Oleksandr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接