Я не эксперт, но вот как я понимаю: iPhone сильно отличается от других систем GPS из-за множества способов выяснения вашего местоположения. IPhone определяет местоположение тремя способами: локальные сигналы Wi-Fi, вышки сотовой связи и / или чип GPS. Использование GPS-спутника для определения местоположения может быть очень медленным, а прием в населенных городах может быть практически невозможен. Таким образом, iPhone в первую очередь смотрит на первые 2 варианта.
Данные о местоположении Wi-Fi поступают от людей, которые ездят по улицам и регистрируют горячие точки, что, очевидно, не даст намек на высоту. Я не уверен, дает ли триангуляция вышек сотовой связи какие-либо данные о высоте, но я предполагаю, что нет. Эти два метода чрезвычайно быстры по сравнению с gps, но, как вы видели, выдают высоту 0. Если вы находитесь в месте с приемлемым приемом GPS-спутников, iPhone может дать вам высоту, но даже в этом случае он может даже не найти ее, пока не получит спутниковый сигнал несколько раз и не вызовет делегат местоположения несколько раз, и даже тогда данные о высоте для GPS могут быть заведомо неточными.
Короче говоря, не стоит рассчитывать на точные данные о высоте с iPhone.