2016-01-14 31 views
6

Sto utilizzando il seguente codice:Torna a {AppName} non visualizzato | iOS9 openURL

NSString *customURLString = [NSString stringWithFormat: @"secondApp://?%@", [document fileId]]; 
NSURL *customURL = [NSURL URLWithString: customURLString]; 
[[UIApplication sharedApplication] openURL: customURL]; 

Il "Back To firstApp" non viene visualizzato all'apertura di successo del secondApp. C'è qualcosa che mi manca? Ho setacciato Internet per questa risposta e sto cercando di assicurarmi che "Back To firstApp" sia presente.

Qualcuno si è imbattuto in questo?

risposta

2

Ho trovato la risposta.

A quanto pare, se si mette questo in Info.plist per la seconda app, enter image description here

e dichiara di controller basato Visualizza barra di stato l'aspetto è NO. Non mostrerà il pulsante indietro. Non so bene perché, ma questo ha risolto il mio problema.

Grazie a tutti per il supporto!

+0

Sembra che attualmente sto riscontrando lo stesso problema ma esclusivo per i dispositivi iPad.Hai mai trovato una buona spiegazione o pensi che questo sia un bug del sistema operativo? Posso sistemarlo esattamente come hai descritto. – Joe

1

Verifica del valore: "Torna a ..." vengono visualizzati solo quando StatusBar è visibile. Sei sicuro che la tua seconda app mostri statusBar?

L'unica spiegazione che mi è venuta in mente è che la seconda app può utilizzare il metodo di avvio a schermo intero depracato. Si prega di verificare se:

Il codice è a posto, si prega di verificare se questo ha dato il comportamento desiderato.

[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"https://stackoverflow.com"]]; 

Se è così, c'è un problema con la tua seconda app.

+0

Dove dovrei andare a controllare questo? Mostra la barra di stato, ma dove vado a controllare il metodo di lancio a schermo intero? –

+0

Non importa, l'ho trovato. Non sto utilizzando il lancio a schermo intero ed è visibile al momento del lancio. –

1

Impostare info.plist dell'applicazione di destinazione in questo modo.

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>Myapp</string> 
</array> 
<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.Myapp.demo</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>Myapp</string> 
     </array> 
    </dict> 
</array> 

mettere questo metodo nella AppDelegate.m della tua app destinazione

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 
    return YES; 
} 

Ora da voi applicazione di origine di destinazione aperto applicazione utilizzando questo.

NSString *customURLString = [NSString stringWithFormat: @"Myapp://"]; 
NSURL *customURL = [NSURL URLWithString: customURLString]; 

[[UIApplication sharedApplication] openURL: customURL]; 

Questo sarà sicuramente mostrerà Back To App sulla barra di stato.

È inoltre possibile controllare digitando Myapp: // da Safari. aprirà la tua app con Torna a Safari.

+0

Questo è esattamente quello che ho e non funziona> _ < –

+0

Ma, sta funzionando nella mia applicazione. Forse ti manchi qualcosa. – iOSEnthusiatic

+0

Hai provato a utilizzare Safari? – iOSEnthusiatic