2015-05-21 12 views
11

Voglio controllare se un'app è presente nel mio iphone o no. Se è presente, voglio avviarlo altrimenti apro il link App Store dell'app.Come controllare e aprire a livello di programmazione un'applicazione esistente in iOS 8?

Si prega di suggerire i parametri richiesti per farlo e il modo per implementarlo.

Ho il collegamento App Store per aprire l'app ma devo verificare se l'app è già presente nel telefono.

+0

possibile duplicato di [Come collegarsi alle app nell'app store] (http: // stackoverflow.it/questions/433907/how-to-link-to-apps-on-the-app-store) –

risposta

4

Per aprire un'app dall'interno di un'altra app, è necessario esporre uno schema URL dall'app che si desidera aprire.

Se l'app può essere aperta utilizzando la funzione openURL (che utilizza lo schema URL personalizzato esposto), l'utente può accedere direttamente all'app.

In caso contrario, è possibile aprire la pagina dell'app dell'app store utilizzando la funzione openURL, fornendo l'URL dell'app itunes.

Here lies complete idea su come raggiungerlo.

0

È possibile verificare se app è disponibile o non utilizzo di schema URL funzione di iOS e quindi aprire iTunes url.Try con seguente codice per la soluzione:

Primo set schema URL "testapp" nel vostro iTunes App e quindi utilizzare codice seguente in un'altra app da cui si desidera aprire l'app:

-(IBAction) openApp:(id)sender { 

    // Opens the app if installed, otherwise displays an error 
    UIApplication *yourApplication = [UIApplication sharedApplication]; 
    NSString *URLEncodedText = [self.textBox.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSString *ourPath = [@"testapp://" stringByAppendingString:URLEncodedText]; 
    NSURL *ourURL = [NSURL URLWithString:ourPath]; 
    if ([yourApplication canOpenURL:ourURL]) { 
     [yourApplication openURL:ourURL]; 
    } 
    else { 
     //The App is not installed. It must be installed from iTunes code. 
     NSString *iTunesLink = @"//Your itunes Url"; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]]; 
    } 

} 
0

È necessario utilizzare gli schemi di URL. L'idea è la seguente:

L'impostazione dell'identificatore di URL per le app lo rende riconoscibile da altre app. Proprio così, l'app che vuoi aprire deve avere un identificatore di URL personalizzato. Google per identificatore di URL personalizzato della tua app desiderata. Utilizza il link sottostante per informazioni su come utilizzare gli schemi URL.

Per Reference

sito per controllare URL identificatori per le applicazioni

2

È possibile verificare se il rispettivo dispositivo ha un app è installata usando:

// url = "example" (check the following image to understand) 
let canOpen = UIApplication.sharedApplication().canOpenURL(NSURL(string: url as String)!) 

Dove url è pre configurato (una Schema URL registrato per la tua app nel tuo Info.plist)

Quindi Se CANopen è true significa che app è installato e si può aprire utilizzando:

UIApplication.sharedApplication().openURL(NSURL(string:url)!) 

enter image description here

+0

Non capisco perché una barra venga rimossa durante il reindirizzamento dell'URL (com.example) :( – lokesh

13

provare questo codice

rapida 2,2

@IBAction func openInstaApp(sender: AnyObject) { 
    var instagramHooks = "instagram://user?username=your_username" 
    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 
     println("App not installed") 
     UIApplication.sharedApplication().openURL(NSURL(string: "https://itunes.apple.com/in/app/instagram/id389801252?m")!) 

    } 

} 

rapida 3

@IBAction func openInstaApp(sender: AnyObject) { 
    let instagramHooks = "instagram://user?username=your_username" 
    let instagramUrl = URL(string: instagramHooks) 
    if UIApplication.shared.canOpenURL(instagramUrl! as URL) 
    { 
     UIApplication.shared.open(instagramUrl!) 

    } else { 
     //redirect to safari because the user doesn't have Instagram 
     print("App not installed") 
     UIApplication.shared.open(URL(string: "https://itunes.apple.com/in/app/instagram/id389801252?m")!) 
    } 

} 
+0

che cosa è "instagram" qui ? è una parola chiave o cosa? –

+0

è parola chiave non cambiarlo –

0
let naviURL = NSURL(string: "yandexnavi://build_route_on_map?lat_from=55.751802&lon_from=37.586684&lat_to=55.758192&lon_to=37.642817")! 
       let res = UIApplication.sharedApplication().openURL(naviURL) 
       if !res { 
        let appStoreURL = NSURL(string: "itms://itunes.apple.com/ru/app/andeks.navigator/id474500851?mt=8")! 
        UIApplication.sharedApplication().openURL(appStoreURL) 

       } 
Problemi correlati