Включите Geospatial API для вашего приложения iOS.

Настройте параметры своего приложения так, чтобы оно могло использовать Geospatial API .

Предварительные условия

Прежде чем продолжить, убедитесь, что вы понимаете фундаментальные концепции AR и то, как настроить сеанс ARCore .

Если вы хотите запустить пример приложения, демонстрирующий описанную здесь функциональность, см. краткое руководство по ARCore Geospatial для iOS .

Дополнительную информацию о Geospatial API см. в разделе «Введение в Geospatial API».

Если вы новичок в разработке с помощью ARCore, см. раздел «Начало работы» для получения информации о требованиях к программному и аппаратному обеспечению, предварительных требованиях и другой информации, специфичной для используемых вами платформ.

Включите API ARCore

Прежде чем использовать систему визуального позиционирования (VPS) в своем приложении, вы должны сначала включить API ARCore в новом или существующем проекте Google Cloud. Эта служба отвечает за размещение, хранение и разрешение геопространственных привязок.

Предпочтительна авторизация без ключа, но также поддерживается авторизация по ключу API.

Добавьте необходимые библиотеки в ваше приложение

После авторизации вашего приложения для вызова API ARCore вы должны добавить библиотеки, чтобы включить геопространственные функции в вашем приложении.

Обновите Podfile своего приложения, включив в него ARCore SDK и поддерживаемые версии iOS. Для этого:

  1. Добавьте следующую platform и pod в Podfile вашего проекта:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.45.0'
    

    Вы также можете указать platform :ios, '10.0' , если хотите поддерживать iOS 10, но учтите, что Geospatial API будет работать только во время выполнения на iOS >= 11.

  2. Откройте окно терминала и запустите pod install из папки, где находится ваш проект Xcode.

    При этом создается файл .xcworkspace , который вы используете для сборки и запуска приложения.

Убедитесь, что ваша среда разработки соответствует требованиям ARCore SDK, как описано в Кратком руководстве .

Включите геопространственные возможности в конфигурации сеанса.

Проверьте совместимость устройства

Не все устройства, поддерживающие ARCore, также поддерживают Geospatial API, как описано в кратком руководстве .

Используйте GARSession.isGeospatialModeSupported: для проверки устройства, как показано ниже:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

Запросить у пользователя разрешения на определение местоположения во время выполнения

Прежде чем настраивать сеанс, ваше приложение должно запросить следующие разрешения на определение местоположения во время выполнения:

Проверьте доступность геопространственных данных в текущем местоположении устройства.

Поскольку Geospatial API использует комбинацию VPS и GPS для определения геопространственного преобразования, API можно использовать до тех пор, пока устройство может определить свое местоположение. В районах с низкой точностью GPS, таких как закрытые помещения и плотная городская среда, API будет полагаться на покрытие VPS для генерации высокоточных преобразований. Ожидается, что в типичных условиях VPS обеспечит точность позиционирования около 5 метров и точность вращения 5 градусов. Используйте GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: чтобы определить, имеет ли данное местоположение покрытие VPS.

Geospatial API также можно использовать в регионах, где нет покрытия VPS. На открытом воздухе с небольшим количеством препятствий или без них GPS может быть достаточно для создания преобразования с высокой точностью.

Что дальше