Hay varias maneras de hacer esto. Principalmente GPS y presión barométrica, pero también se pueden usar acelerómetros.
El GPS no funciona bien dentro de los edificios, y con una precisión de 5 a 10 m horizontalmente y menos precisión verticalmente, esta no es una buena apuesta. Pero la presión barométrica lo hará bien y funcionará con buena precisión.
En iOS, cuando su aplicación obtiene una posición de ubicación, estará en un objeto CLLocation. Una propiedad de este objeto es la propiedad “floor”, que es un objeto CLFloor. Tiene una propiedad que le dice el “piso lógico del edificio”. Internamente, el teléfono utiliza presión barométrica para brindarle esta información.
- ¿Cuántas veces al día debo aprender y practicar Java y Android si quiero ser desarrollador de Android en 2 meses?
- ¿Cuáles son tus ideas sobre las aplicaciones de Android?
- ¿Qué aplicaciones gratuitas de mapas GPS tienen alertas de tráfico y la capacidad de usar mapas sin conexión a Internet?
- ¿Los GIF funcionan bien y ahorran espacio en las aplicaciones?
- ¿Hay alguna aplicación de Android que grabe video y sonido claramente para conciertos / shows en vivo?
Puedes jugar con acelerómetros para decirte cuándo has subido o descendido. Pero lo mejor (más fácil y más preciso) es dejar que iOS lo haga y decirte en el objeto CLLocation.
No estoy haciendo trabajos de ubicación en Android, así que no puedo responder esa parte de tu pregunta.