Come si può rilevare se Safari è stato disattivato dal controllo genitori su iPhone? So che è possibile perché l'App X3Watch rifiuta di funzionare finché Safari non è disabilitato. Per quanto posso vedere, non esiste una API per i controlli parentali, quindi quale tecnica può essere utilizzata per questo?Come rilevare se Safari è disabilitato su iPhone
5
A
risposta
4
Non ho provato questo, ma è OS3.0 e versioni successive, è possibile rilevare se un URL può essere aperto da qualsiasi applicazione sul sistema utilizzando [[UIApplication sharedApplication] canOpenURL:myURL]
. Scommetto che restituirà NO
se Safari è disabilitato.
0
Ecco il mio tentativo di includere la soluzione in un controller di visualizzazione. I due bool devono essere utilizzati perché un utente può aprire un programma esterno indipendentemente da Safari quando viene caricata la vista, ma il pulsante che ha bisogno di Safari non è stato ancora aperto.
@implementation ViewController {
@private BOOL externalProgramOpened;
@private BOOL buttonPressed;
}
-(void) setExternalProgramOpened {
// Only set to yes if we're trying to open safari
if(buttonPressed) {
externalProgramOpened = YES;
}
}
-(void) notifyUserOfRestrictedAccess {
if(externalProgramOpened == NO) {
[[[UIAlertView alloc] initWithTitle:@"Safari Needs to be enabled!"
message:@"It looks like the Safari browser is
disabled. Please enable it
(Settings>General>Restrictions) in order to
continue."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil] show];
} else {
externalProgramOpened = NO;
}
buttonPressed = NO;
}
-(void) viewWillAppear:(BOOL)animated {
externalProgramOpened = NO;
buttonPressed = NO;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(setExternalProgramOpened)
name:UIApplicationWillResignActiveNotification
object:nil];
}
-(void) viewWillDisappear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIApplicationWillResignActiveNotification
object:nil];
[super viewWillDisappear:animated];
}
- (IBAction)buttonPressed:(id)sender {
buttonPressed = YES;
NSString * URL = *someURL*;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:URL]];
[self performSelector:@selector(notifyUserOfRestrictedAccess) withObject:self
afterDelay:.75];
}
Problemi correlati
- 1. Come posso rilevare, tramite javascript in Safari Mobile, se è installata l'applicazione iPhone?
- 2. Safari iPhone - Come rilevare il livello di zoom e l'offset?
- 3. iPhone: come rilevare se iTunes sta giocando?
- 4. Come rilevare se il tuo sito è caricato su SFSafariViewController
- 5. zoom automatico su iphone safari
- 6. Come verificare se javascript è disabilitato?
- 7. Verifica se l'avviso è disabilitato
- 8. È possibile rilevare se VoiceOver è attivo in una pagina Web su iPhone?
- 9. Come rilevare se foto/video è stata presa dalla fotocamera o importata dal rullino fotografico in iphone safari
- 10. Come posso rilevare se un Chrome Extension è stato abilitato (dopo essere stato disabilitato)
- 11. Problema modale Bootstrap su Safari/iOS/iPhone
- 12. come rilevare tap su UIWebView se non è un collegamento
- 13. Come posso rilevare se l'utente è su localhost in PHP?
- 14. Come rilevare se l'account iCloud su un dispositivo è cambiato?
- 15. Come rilevare se M7 è presente, a.k.a è un iPhone 5S o più recente?
- 16. Rilevare a livello di programmazione se un'app è installata su iPhone
- 17. Come rilevare se in esecuzione su localhost
- 18. Come rilevare se è presente un microfono
- 19. Come sapere se NSAssert è disabilitato nelle versioni di rilascio?
- 20. È possibile rilevare l'evento zoom in/out in iOS Safari?
- 21. Come rilevare se RecyclerView è vuoto?
- 22. Come rilevare se SearchView è espanso?
- 23. Come rilevare se è supportata un'interfaccia grafica?
- 24. Come rilevare se Daydream è attivo?
- 25. Come posso rilevare se Dispatcher.DisableProcessing è attivo?
- 26. Come rilevare se $ _POST è impostato?
- 27. Rilevare se JIT è disponibile
- 28. Come rilevare programmazione iphone 4
- 29. Come rilevare la frequenza/intonazione del suono su un iPhone?
- 30. Come verificare se il caching del browser è disabilitato
Sì, l'ho provato e hai ragione. Grazie! – zorro2b
Funziona ancora? Ho provato questo su iOS 6 (iPad 3), ma restituisce SÌ anche se Safari è disabilitato in Restrizioni. Tuttavia, se in realtà chiamo openURL :, Safari NON si apre se disabilitato, come previsto. – Michael
Per rispondere alla mia domanda: [collegamento] (http://stackoverflow.com/questions/12771177/uiapplications-canopenurl-openurl-return-misleading-result) – Michael