Начало работы | Mobile SDK | 2GIS Documentation
iOS SDK

Начало работы

  1. Обратитесь в техническую поддержку 2ГИС для получения ключа доступа. Обязательно укажите appId приложения, для которого будет создан ключ.

  2. Создайте специальный объект Container, который будет хранить все сущности, связанные с картой. При создании объекта укажите путь до полученного файла ключа dgissdk.key одним из способов:

    • Из Bundle.main приложения с помощью метода fromAsset() (способ по умолчанию). Ключ должен быть прикреплён к корню приложения:

      // Получение файла ключа
      let key = KeySource.fromAsset(KeyFromAsset(path: "dgissdk.key"))
      
      // Создание контейнера
      let sdk = DGis.Container(keySource: key)
      
    • C указанием абсолютного пути до файла ключа с помощью метода fromFile():

      // Получение файла ключа
      let key = Bundle.main.path(forResource: "dgissdk", ofType: "key").map {
            KeySource.fromFile(KeyFromFile(path: $0))
          }
      
      // Создание контейнера
      let sdk = DGis.Container(keySource: key)
      
    • С указанием строки для получения файла ключа с помощью метода fromString():

      // Получение файла ключа
      let key = KeySource.fromString(KeyFromString(contents: "some content"))
      
      // Создание контейнера
      let sdk = DGis.Container(keySource: key)
      

    Важно

    DGis.Container может быть создан только в единственном экземпляре.

  3. Дополнительно можно указать настройки журналирования (LogOptions) и настройки HTTP-клиента (HTTPOptions), такие как время ожидания ответа и кеширование.

    // Настройки журналирования
    let logOptions = LogOptions(systemLevel: .info)
    
    // Настройки HTTP-клиента
    let httpOptions = HttpOptions.init()
    
    // Настройки сбора анонимной статистики использования
    let personalDataCollectionOptions = PersonalDataCollectionOptions(personalDataCollectionConsent: .granted)
    
    // Создание контейнера
    let sdk = DGis.Container(
        keySource: key,
        logOptions: logOptions,
        httpOptions: httpOptions,
        personalDataCollectionOptions: personalDataCollectionOptions
    )
    

Для переопределения некоторых настроек работы SDK используется файл в формате VendorConfig, который передается при инициализации контейнера SDK.

  1. Добавьте файл в формате VendorConfig в бандл при сборке приложения и создайте экземпляр класса File.

    Для файла, добавленного в корень бандла и имеющего имя vendor-config.json, код будет выглядеть так:

    let vendorConfigFile = Bundle.main.path(forResource: "vendor-config", ofType: "jsonx").map {
        VendorConfig.fromFile(VendorConfigFromFile(path: $0))
    }
    
  2. Передайте созданную переменную в качестве значения параметра vendorConfigFile при инициализации Container:

    let sdk = DGis.Container(
        keySource: key,
        logOptions: logOptions,
        httpOptions: httpOptions,
        vendorConfigFile: vendorConfigFile ?? .none
    )
    

Мобильный SDK (версия Full) позволяет работать с данными карты, справочника и навигатора офлайн из предзагруженных пакетов. Это может быть полезно в условиях плохой связи или при её полном отсутствии.

Чтобы настроить работу в режиме офлайн:

  1. Убедитесь, что ваш ключ доступа содержит необходимые права для работы с офлайн-данными. Вы можете запросить права на офлайн-данные всех компонентов (карта, справочник, построение маршрутов) или выбрать только необходимые.

  2. Скачайте файлы с данными для территорий, где необходима офлайн-работа приложения, через TerritoryManager.

    См. пример кода для загрузки территорий.

  3. Настройте компоненты SDK для работы с предзагруженными данными: