2012-05-11 19 views
8

Sto creando un'applicazione in cui gli utenti possono condividere i dati inviando e-mail l'una all'altra. In questa mail c'è un collegamento alla mia app (ho creato uno schema URL per la mia app) Ma, se gli utenti non hanno la mia applicazione sul proprio iPhone, quando fa clic sul link, non accade nulla.Schema URL: Apri app o Appstore dalla posta

La mia domanda: Come potrei fare per lanciare la mia app quando l'applicazione viene installata su iPhone dell'utente e lanciare l'Appstore o un sito web, se l'applicazione non è installata

Grazie

+0

Sembra che tu abbia bisogno di due link. – paulmelnikow

+0

Come un "se non hai questa applicazione clicca qui"? –

+0

Hm, sembra che ci siano altre possibilità: http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpodominio-based-url-scheme-for-iphone-apps- Mi piace/1109200 # 1109200 – paulmelnikow

risposta

6

canOpenURL è quello che stai cercando.

Ecco un esempio per il lancio di Twitter APP:

NSURL* twitterURL = [NSURL URLWithString:[NSString stringWithFormat:@"twitter:@%@", twitterUser]]; 

if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) { 
    [[UIApplication sharedApplication] openURL:twitterURL]; 
} else { 
    NSURL* url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/twitter/id333903271?mt=8"]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 

EDIT

Se si vuole fare fare questo da una pagina web o e-mail HTML, a trovare la risposta qui: https://stackoverflow.com/a/627942/550177

e qui: https://stackoverflow.com/a/1109200/550177

+1

L'OP chiede di un collegamento in Mail.app. – paulmelnikow

+0

Ho provato i due collegamenti ma non riesco a far funzionare window.location = .... Sei sicuro che funzioni nelle e-mail? –

+0

No, non so come incorporare il codice JavaScript nelle e-mail HTML. Scusate. – Felix

3

La risposta sopra è obsoleta. Per aprire l'app, se è installata, ma tornare tranquillamente all'App Store, ti consigliamo di creare un collegamento diretto Branch (https://branch.io) invece di provare a crearlo da solo perché ci sono un sacco di casi limite e il necessario Javascript continua a cambiare con ogni nuova versione di iOS.

Tuttavia, se desideri ospitarlo da solo, puoi utilizzare il seguente snippet in cui lo myapp:// è lo schema URI per la tua app e itms-apps://itunes.apple.com/app/yourappid è l'URL dell'app store.

window.location = "myapp://"; 
setTimeout(function() { 
    window.location = "itms-apps://itunes.apple.com/app/yourappid"; 
}, 500); 

È possibile chiamare questo in window.onload e sarà tentare di aprire l'applicazione al caricamento della pagina, poi cadere in modo sicuro di nuovo al deposito 500 millisecondi più tardi.