tutorial rails examples app ruby geolocation rubymotion

rails - rubymotion tutorial



La geolocalización de Rubymotion/bubblewrap en modo avión hace que se cuelgue la aplicación (1)

Intentando obtener una implementación geoloc limpia en alguna aplicación; bastante luchando con las limitaciones de lo que bubblewrap proporciona para ubicaciones

def get_location begin BW::Location.get_once do |location| if location self.latitude = location.latitude self.longitude = location.longitude end end rescue puts "can''t geoloc" end end

Con este código (lo siento, pero muestro las ''pruebas'' que -espero- funcionarían como reembolsos con el código Ruby), me da un accidente de aplicación simple si configuro el modo avión en el teléfono

Gracias si hay alguna experiencia para hacerlo funcionar en este modo


Creo que las cosas de geolocalización se ejecutan en un hilo separado, por lo que querría poner su código de inicio / rescate dentro del bloque:

BW::Location.get_once do |location| begin if location self.latitude = location.latitude self.longitude = location.longitude end rescue puts "can''t geoloc" end end

Sin embargo, Bubblewrap realmente le informará si hubo un error al establecer la location en un hash con un valor, {error: type} . Dado que está utilizando get_once , el valor de retorno podría ser un objeto Hash o CLLocation , por lo que debe verificar el tipo de objeto para evitar un error:

BW::Location.get_once do |location| if location.is_a?(Hash) && location[:error] puts "can''t geoloc" else self.latitude = location.latitude self.longitude = location.longitude end end