簡體   English   中英

如何從iPhone應用程序啟動另一個應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM