Swift:如何在点击UIButton时打开一个新的应用程序

我有一个应用程序,当点击一个uibutton时,我想打开另一个已安装的应用程序(即Waze)。 我怎么能这样做? 十分感谢。

尝试这个。 例如,您想要打开Instagram应用程序:

var instagramHooks = "instagram://user?username=johndoe" var instagramUrl = NSURL(string: instagramHooks) if UIApplication.sharedApplication().canOpenURL(instagramUrl!) { UIApplication.sharedApplication().openURL(instagramUrl!) } else { //redirect to safari because the user doesn't have Instagram UIApplication.sharedApplication().openURL(NSURL(string: "http://instagram.com/")!) } 

在SecondApp中

转到SecondApp的plist文件,你需要添加一个带有字符串iOSDevTips的URL Schemes(当然你可以写另一个字符串。这取决于你)。

在此处输入图像描述

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。

有关更多信息,请参阅此处

您可以查看Waze社区以供参考。

Objective-C代码片段:

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"waze://"]]) { // Waze is installed. Launch Waze and start navigation NSString *urlStr = [NSString stringWithFormat:@"waze://?ll=%f,%f&navigate=yes", latitude, longitude]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]]; } else { // Waze is not installed. Launch AppStore to install Waze app [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/us/app/id323229106"]]; } 

Swift代码片段:

 if UIApplication.shared.canOpenURL(URL(string: "waze://")!) { // Waze is installed. Launch Waze and start navigation let urlStr = String(format: "waze://?ll=%f, %f&navigate=yes", latitude, longitude) UIApplication.shared.openURL(URL(string: urlStr)!) } else { // Waze is not installed. Launch AppStore to install Waze app UIApplication.shared.openURL(URL(string: "http://itunes.apple.com/us/app/id323229106")!) } 

在swift4 waze

 class FullMapVC: UIViewController { var lat:CLLocationDegrees? var long:CLLocationDegrees? func wazeMaps() { let openUrl = URL(string: "waze://?ll=\(String(describing: lat!)),\(String(describing: long!))&navigate=yes")! UIApplication.shared.open(openUrl , options:[:]) { (success) in if !success { } } } } 

如果您想使用谷歌地图,请替换url

  let openUrl = URL(string: "comgooglemaps://?saddr=&daddr=\(String(describing: lat!)),\(String(describing: long!))&directionsmode=driving")! 
Interesting Posts