如何从iPhone应用程序启动另一个应用程序

Ran*_*ahu 8 iphone objective-c mapkit ios

我在我的iPhone应用程序中处理地图应用程序.

我有一个按钮go.

当用户在此方法中单击此按钮时,我想检查用户是否已waze在其iphone上安装了该应用程序.如果是,则导航到waze应用程序,否则打开iPhone的默认地图应用程序.

bs7*_*bs7 21

尝试这样做:

NSString *wazeAppURL = @"waze://";
NSString *mapsAppURL = @"maps://";

BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:wazeAppURL]];

NSString *url = canOpenURL ? wazeAppURL : mapsAppURL;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
Run Code Online (Sandbox Code Playgroud)

在这里,canOpenURL您可以测试iPhone上是否安装了Waze应用程序.如果iPhone可以打开网址,waze://这意味着你已经有了应用程序,它将启动它.否则,它将启动默认的地图应用.Safari不会被调用.


elp*_*elp 5

要打开应用,您需要拨打电话

BOOL canOpenURL = [[UIApplication sharedApplication] 
                       canOpenURL:[NSURL URLWithString:@"app://"]];
if ( canOpenUrl ) [[UIApplication sharedApplication] 
                       openURL:[NSURL URLWithString:url]];
Run Code Online (Sandbox Code Playgroud)

要查找所有的URL,访问这个页面:http://handleopenurl.com/

特别是waze,http://handleopenurl.com/scheme/waze

希望这可以帮助.