[英]How to launch another app from an iPhone app
我在我的iPhone應用程序中處理地圖應用程序。
我有一個按鈕go
。
當用戶在此方法中單擊此按鈕時,我想檢查用戶是否在他的iphone上安裝了waze
應用程序。 如果是,則導航到waze應用程序,否則打開iPhone的默認地圖應用程序。
嘗試這樣做:
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]];
在這里, canOpenURL
允許您測試您的iPhone上是否安裝了Waze應用程序。 如果iPhone可以打開網址waze://
這意味着你已經有了應用程序,它將啟動它。 否則,它將啟動默認的地圖應用。 Safari不會被調用。
要打開應用,您需要撥打電話
BOOL canOpenURL = [[UIApplication sharedApplication]
canOpenURL:[NSURL URLWithString:@"app://"]];
if ( canOpenUrl ) [[UIApplication sharedApplication]
openURL:[NSURL URLWithString:url]];
要查找所有網址,請訪問此頁面: http : //handleopenurl.com/
特別是waze, http://handleopenurl.com/scheme/waze
希望這可以幫助。
請注意,在iOS上,您還可以導航到Google地圖 - 並傳遞查詢字符串或地理位置。 以下是導航到特定地理點的一個示例:
if (self.mapView.userLocation.location) {
NSString *urlAsString = [NSString stringWithFormat:@"comgooglemaps://?q=%f,%f", self.mapView.userLocation.location.coordinate.latitude, self.mapView.userLocation.location.coordinate.longitude];
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlAsString]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlAsString]];
}
}
只是一個增強用戶體驗的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.