从另一个(iPhone)启动应用程序

是否有可能从另一个应用程序中启动任意iPhone应用程序? 例如,在我的应用程序中,如果我想让用户按下按钮并右键启动到电话应用程序(关闭当前应用程序,打开电话应用程序)。

这可能吗? 我知道这可以通过电话URL链接进行拨打电话,但我希望只需启动电话应用程序即可启动,而无需拨打任何特定号码。


正如Kevin指出的那样,URL Schemes是应用程序之间进行通信的唯一方式。 所以,不,不可能启动任意应用程序。

但是,可以启动任何注册URL方案的应用程序,无论是Apple的,您的还是其他开发人员。 文档在这里:

与其他应用程序通信

至于启动手机,看起来像你的tel:链接需要至少三位数字才能启动手机。 所以你不能直接进入没有拨号的应用程序。


我发现编写可以打开其他应用程序的应用程序很容易。

假设我们有两个名为FirstAppSecondApp应用程序。 当我们打开FirstApp时,我们希望能够通过单击按钮打开SecondApp。 解决方案是:

  • 在SecondApp中

    转到SecondApp的plist文件,你需要添加一个带有字符串iOSDevTipsURL Schemes (当然你可以写另一个string.it由你决定)。

  • 在这里输入图像描述

    2。 在FirstApp

    用下面的动作创建一个按钮:

    - (void)buttonPressed:(UIButton *)button
    {
      NSString *customURL = @"iOSDevTips://";
    
      if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]])
      {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
      }
      else
      {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"URL error"
                                  message:[NSString stringWithFormat:@"No custom URL defined for %@", customURL]
                                  delegate:self cancelButtonTitle:@"Ok" 
                                  otherButtonTitles:nil];
        [alert show];
      }
    
    }
    

    而已。 现在,当你点击FirstApp中的按钮时,它应该打开SecondApp。


    对于iOS之前的iOS,李答的答案是绝对正确的。

    在iOS 9中,您必须将应用程序想要在Info.plist中查询的任何URL方案列入LSApplicationQueriesSchemes项(字符串数组)中:

    链接地址: http://www.djcxy.com/p/95797.html

    上一篇: Launch an app from within another (iPhone)

    下一篇: How much does it cost to develop an iPhone application?