2015-07-06 20 views
21

Come nascondere questo < Torna a Safari dalla barra di stato a livello di codice?C'è un modo per nascondere "Torna a Safari" dalla barra di stato in iOS9?

enter image description here

mi sto nella mia app - come sto uscendo dalla mia app, se un utente vuole accedere con il proprio account Facebook.

Ecco lo scenario per il quale non mi piace (vuoi) "Torna a Safari" nella mia app.

  1. Al primo avvio dell'app (e l'utente non ha effettuato l'accesso).
  2. L'utente sceglie Accedi con l'opzione di Facebook.
  3. L'SDK per iOS di Facebook entra nella foto, mi porta in Safari.
  4. Ho effettuato l'accesso e di nuovo all'app
  5. Ma, c'è "Torna a Safari" ... Non dovrebbe essere più qui.
+1

Meglio non fare le domande beta del sistema operativo qui, ma nella mela forum beta. post qui - https://forums.developer.apple.com/community/pre-release/ios-9-beta – Tushar

+0

Questa non è una domanda relativa ai bug. Voglio una risposta se possiamo nascondere questo programmaticamente o qualcosa del genere? Perché una volta chiuso (rimuovi) il browser Safari, quel messaggio verrà rimosso. Ma non voglio questo comportamento perché non voglio che il mio utente torni su Safari. – Hemang

+1

Qualche fortuna nel trovare la soluzione? –

risposta

4

No, non esiste un'API che ti permetta di farlo.

+1

Possiamo sovrascrivere l'azione almeno? –

+1

Grande, ho una logica con l'altra app aperta e il ritorno al mio e questo pulsante rovina la mia intera logica - non capisco perché può essere disabilitato? – new2ios

+0

Non riesco a trovare alcuna documentazione per questo. Non penso che possiamo toccarlo affatto. –

0

È possibile ottenere questo inoltrando a un sito Web con un ritorno alla tua app. I seguenti passaggi consente di nascondere il 'Ritorno al Safari' nella barra di stato, MyApp è il nome esempio app:

  1. Aggiungi il tuo schema URL applicazione al Info.plist

    <key>LSApplicationQueriesSchemes</key> 
    <array> 
        <string>myapp</string> 
    </array> 
    
  2. Imposta un URL personalizzato avanti su un sito web (es http://example.com/myapp)

    _redirect_rule_from /myapp 
    _redirect_rule_to myapp:// 
    
  3. nella vostra chiusura metodo di autorizzazione ha colpito l'attaccante creato nel passaggio 2

    - (void)willLoginWithFacebook 
    { 
        __weak __typeof(self) weakSelf = self; 
    
        [self.view setUserInteractionEnabled:NO]; 
        [self.sessionManager authenticateViaFacebookWithCompletion:^(NSString *token, NSSet *grantedPermissions, 
        NSError *error) { 
    
    if (error) { 
        if (error.code != myappErrorCodeCancelled) { 
         [weakSelf.rootViewController presentError:error]; 
        } 
    } 
    else { 
        [weakSelf authorizeWithFacebookToken:token]; 
        NSString *customURL = @"myapp://"; 
    
        if ([[UIApplication sharedApplication] 
         canOpenURL:[NSURL URLWithString:customURL]]) 
        { 
         NSString *stringURL = @"http://example.com/myapp"; 
         NSURL *url = [NSURL URLWithString:stringURL]; 
         [[UIApplication sharedApplication] openURL:url]; 
        } 
        else 
        { 
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"URL error" 
                     message:[NSString stringWithFormat: 
                       @"No custom URL defined for %@", customURL] 
                     delegate:self cancelButtonTitle:@"Ok" 
                   otherButtonTitles:nil]; 
         [alert show]; 
        } 
        }; 
    
    }]; 
    
    }