从另一个(iPhone)启动应用程序
是否有可能从另一个应用程序中启动任意iPhone应用程序? 例如,在我的应用程序中,如果我想让用户按下按钮并右键启动到电话应用程序(关闭当前应用程序,打开电话应用程序)。
这可能吗? 我知道这可以通过电话URL链接进行拨打电话,但我希望只需启动电话应用程序即可启动,而无需拨打任何特定号码。
正如Kevin指出的那样,URL Schemes是应用程序之间进行通信的唯一方式。 所以,不,不可能启动任意应用程序。
但是,可以启动任何注册URL方案的应用程序,无论是Apple的,您的还是其他开发人员。 文档在这里:
与其他应用程序通信
至于启动手机,看起来像你的tel:
链接需要至少三位数字才能启动手机。 所以你不能直接进入没有拨号的应用程序。
我发现编写可以打开其他应用程序的应用程序很容易。
假设我们有两个名为FirstApp
和SecondApp
应用程序。 当我们打开FirstApp时,我们希望能够通过单击按钮打开SecondApp。 解决方案是:
在SecondApp中
转到SecondApp的plist文件,你需要添加一个带有字符串iOSDevTips的URL 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?