2012-07-07 5 views
13

Ogni volta che uno script richiede la geolocalizzazione utilizzando l'API di geolocalizzazione di HTML5, lo UIWebView chiede un'autorizzazione per utilizzare i servizi di localizzazione iOS.Prevenire fastidiosi allarmi di geolocalizzazione HTML5 all'interno di UIWebView

Questo è piuttosto fastidioso, specialmente quando carichi file statici HTML, continua a chiedere l'autorizzazione per ogni file, anche se l'utente ha già concesso questa autorizzazione per l'app stessa.

C'è un modo per impedirlo?

So che su safari l'autorizzazione per la geolocalizzazione si basa sul dominio e concordo per chiedere il permesso quando la richiesta viene eseguita per un dominio diverso, ma non è necessario che UIWebView abbia la stessa autorizzazione di geolocalizzazione dell'app quando caricamento di file HTML statici o locali?

Sto facendo qualcosa di sbagliato?

UIAlertView requesting permission for domain

+3

Sembra proprio che volessi presentare una segnalazione di bug in [bugreport.apple.com] (http://bugreport.apple.com) – JustSid

risposta

2

Si può sempre passare la geolocalizzazione dalla tua app per il javascript caricato nel WebUIView. Cerca "stringByEvaluatingJavaScriptFromString" in WebUIView?

+0

Questo è esattamente il problema che sto cercando di evitare. Ho scoperto che PhoneGap ha un'implementazione interessante di questo approccio, in cui sovrascrive l'API di geolocalizzazione HTML5, ma è anche un lavoro extra che stavo cercando di evitare. http://docs.phonegap.com/en/1.7.0/cordova_geolocation_geolocation.md.html#Geolocation –

+0

Ho sentito. In realtà è piuttosto semplice, chiamare un metodo js è piuttosto semplice, non serve davvero per PhoneGap. –

+0

Vedo, ma dovrei implementare tutta la logica CoreLocation nella mia app, e fare lo stesso per mantenere la compatibilità con la mia app Android, che utilizza lo stesso HTML/JS, ad esempio –