- Отправка уведомлений на основе местоположения
- Получение уведомлений, когда друг прибудет в определенное место, покинет его или не будет в нем находиться
- Provisional always
- When in use once
- Воспроизведение звука на наушниках airpods или beats
- Другие возможности
- Изменение устройства для публикации геопозиции
- Как определить местоположение iphone и ipad даже после полной разрядки аккумулятора
- Коротко про особенности работы в бэкграунд-режиме
- Наименование геопозиции
- Настройка служб геолокации на iphone и ipad? полезные советы | всё об ipad
- Непрерывное отслеживание геопозиции при наступлении события
- Отключение запросов на дружбу
- Отключение предоставления данных о геопозиции
- Отключение запросов на дружбу
- Отслеживание геопозиции друзей
- Поиск друзей
- Другие возможности
- Получение уведомлений, когда друг прибудет в определенное место, покинет его или не будет в нем находиться
- При использовании ios 12 или более ранней версии либо macos mojave или более ранней версии
- Разбираемся в статусах и состояниях авторизации
- Руководство пользователя ipad
- Смена статуса авторизации: новые возможности в ios 15
Отправка уведомлений на основе местоположения
Начиная с iOS 14 и macOS Big Sur, можно задавать повторяющиеся уведомления на основе местоположения. Это позволит вам узнавать, когда кто-либо прибудет в определенное место или покинет его, а также если не будет находиться в определенном месте в конкретный период времени.
Получение уведомлений, когда друг прибудет в определенное место, покинет его или не будет в нем находиться
- Откройте приложение «Локатор» и перейдите на вкладку «Люди».
- Выберите человека, с которым вы хотите делиться уведомлениями.
- Прокрутите вниз и коснитесь «Добавить» в разделе «Уведомления».
- Коснитесь «Уведомить меня», чтобы получать уведомления при изменении местоположения друга*. Коснитесь «Уведомить друга», чтобы уведомлять друга об изменении вашего местоположения.
- В разделе «Когда» выберите «Приходит», «Уходит» или «Не в месте». Если вы делитесь изменением местоположения, выберите «Я прихожу» или «Я ухожу».
- В разделе «Геопозиция» коснитесь нужного пункта, чтобы выбрать свою текущую геопозицию, либо коснитесь пункта «Новая геопозиция», чтобы выбрать другую.
- В разделе «Частота» выберите «Только один раз» или «Каждый раз».
* Когда вы создадите уведомление на основе местоположения, ваш друг будет получать уведомления.
Provisional always
Из схемы видно, что самое труднодоступное состояние — Always. Пользователь должен дважды увидеть алерт и оба раза дать согласие. Provisional always хоть и имеет статус authorizedAlways, но по своим возможностям эквивалентен When In Use.
Для перехода в состояние Provisional Always нужно вызвать requestAlwaysAuthorization() и выбрать «При использовании». Система покажет такой же алерт, как и при вызове requestWhenInUseAuthorization():

В будущем пользователь увидит алерт, в котором система предложит либо переключиться на Always, либо оставить на When In Use. В документации говорится, что это произойдёт в момент, когда система попытается запустить приложение при наступлении одного из событий (например, пользователь зашёл в регион). Как правило, это происходит, когда пользователь находится на главном экране iPhone.
The second prompt displays when Core Location prepares to deliver an event to your app requiring CLAuthorizationStatus.authorizedAlways.

Такое поведение больше похоже на неожиданное спам-сообщение. Пользователь уже давно ушёл из контекста нашего приложения. Велика вероятность, что он переключится на When In Use.
Более надёжный способ перейти в состояние Always: сначала получить от пользователя разрешение When In Use и только потом запрашивать Always. Можно попытаться сделать это сразу, последовательно вызывая requestWhenInUseAuthorization и requestAlwaysAuthorization().
Ещё один вариант гарантированно получить Always: сразу отправлять пользователя в настройки. Так, например, делает Telegram.

При активном использовании способа Always iOS покажет пользователю алерт, в котором предложит переключиться обратно на When In Use, либо остаться в Always.

Как можно заметить, схема авторизации в iOS сильно затрудняет сбор данных о том, насколько пользователь доверяет приложению и какой способ авторизации выбирает — та самая проблема, о которой шла речь в начале статьи.
When in use once
Это состояние во многом похоже на When In Use, оно имеет такой же статус authorizedWhenInUse. Но у When In Use Once есть два больших отличия:
Воспроизведение звука на наушниках airpods или beats
Если наушники AirPods или Beats не в чехле, Вы можете воспроизвести на них звук. В iPadOS 15.0.1 или новее также можно воспроизвести звук на поддерживаемых наушниках AirPods, если на них включена сеть Локатора и они находятся в чехле.
Коснитесь «Устройства» в левой нижней части экрана, затем коснитесь имени наушников AirPods или Beats, на которых хотите воспроизвести звук.
Коснитесь «Воспроизвести звук». Если Ваши наушники AirPods или AirPods Pro находятся в разных местах, Вы можете отключить звук на одном из них, нажав «Левый» или «Правый», чтобы найти их по одному.
Если устройство в режиме онлайн. Оно немедленно воспроизведет звук (звук будет проигрываться в течение двух минут).
Если устройство в режиме офлайн. Вы получите уведомление, как только устройство появятся в зоне доступа iPhone, iPad или iPod touch.
Другие возможности
Открыв приложение «Локатор», перейдите на вкладку «Люди» и выберите чье-либо имя. Вы можете сделать следующее.
- Можно просмотреть карточку контакта этого человека.
- Выберите «Маршруты», чтобы просмотреть геопозицию в приложении «Карты».
- Можно выбрать вариант «Уведомления», чтобы узнавать об изменении геопозиции человека или уведомлять других о том, что она изменилась.
- Можно добавить человека в список избранных пользователей или удалить его из него. Из списка избранных пользователей невозможно удалить участников группы семейного доступа.
- Можно выбрать вариант «Изменить название геопозиции», чтобы отметить геопозицию.
Изменение устройства для публикации геопозиции
Чтобы изменить устройство для публикации геопозиции, откройте на нем приложение «Локатор». Перейдите на вкладку «Я» и выберите пункт «Брать мою геопозицию с [этого устройства]».
Как определить местоположение iphone и ipad даже после полной разрядки аккумулятора
Платформа iOS 8 получила ряд улучшений по части фирменных сервисов Apple. Касается это и Find My iPhone. Мало, кто знает, но сервис для поиска пропавших и украденных устройств обзавелся специальным режимом «Последняя геопозиция». Он позволяет iPhone и iPad автоматически отправлять данные о своем местоположении перед полной разрядкой.
Соответствующий выключатель находится в меню iCloud –> Найти iPhone. Помимо основного тумблера для включения и отключения сервиса «Найти iPhone» здесь появился новый – «Последняя геопозиция». По умолчанию функция деактивирована. Ее включение приводит к тому, что мобильное устройство будет автоматически отправлять геолокационные данные на сервис Apple в момент разрядки аккумулятора. Таким образом, пользователь с более высокой вероятностью сможет найти потерянный iPhone или iPad. Последние известные координаты будут храниться в iCloud в течение 24 часов после полного выключения гаджета.
Конечно, идеальной в этом смысле была бы отправка геолокационных данных перед каждым выключением iOS-устройств, на тот случай, если злоумышленник попытается таким образом скрыть свое местонахождение. Тем не менее, если устройство было потеряно самим пользователем, с активной функцией «Последняя геопозиция» шансы на его возвращение намного выше.
Чтобы определить местоположение iPhone, iPad и Mac, достаточно открыть в браузере сайта iCloud.com, залогиниться под своей учетной записью и перейти в раздел Найти iPhone. Сервис покажет местоположение всех гаджетов, ассоциированных с этим аккаунтом.
Коротко про особенности работы в бэкграунд-режиме
Непрерывное отслеживание геолокации:
Примеры приложений: приложения такси, навигаторы, фитнес-трекеры.
Разовое получение геолокации при наступлении события:
Примеры приложений: Telegram (функционал «поделиться геопозицией»).
Наименование геопозиции
При желании можно присваивать названия часто посещаемым местам.
- Откройте приложение «Локатор» и перейдите на вкладку «Я».
- Прокрутите вниз и выберите пункт «Изменить название геопозиции».
- Выберите вариант «Дом», «Работа», «Учеба», «Спортзал» или «Нет».
Можно также выбрать вариант «Добавить этикетку», чтобы указать название для своей геопозиции. Просто введите название и нажмите «Готово».
Настройка служб геолокации на iphone и ipad? полезные советы | всё об ipad
Сегодня рубрика “Полезные советы”! Решил написать об этом, после того как в мои руки попал телефон сестры, на котором не была настроена геолокация (ниже я поясню, что я подразумеваю под этим). Подозреваю, что большинство пользователей (особенно новичков) даже не знают, что такое геолокация и как её оптимально настроить…
Я не буду ходить вокруг да около, а сразу сообщу самый важный факт, который утаивает как компания Apple (в справке этого нет), так и сама система iOS.
Что делают службы геолокации? Они помогают приложению/системным опциям определить ваше местоположение. Приведу самый простой пример. Вы включаете “камеру” на iДевайсе и в этот самый момент айфон/айпад запрашивает через сервисы GPS/Wi-Fi/Bluetooth ваше текущее местоположение, чтобы записать его в метаданные снимка. Именно по этим данным приложение “Фото” может показать, где был сделан снимок.
При первом запуске любого приложения, которое теоретически может использовать службы геолокации, вам приходит запрос. Вы можете разрешить или запретить доступ к службам геолокации.
А теперь смотрим, где находятся настройки служб Геолокации.
Настройки->Конфиденциальность->Службы Геолокации.
Шаг 1:
Шаг 2:
Тут будет список приложений, которые используют Службы Геолокации! У каждого приложения есть до трёх вариантов доступа:
Проверьте свои настройки и уберите у приложений доступ “Всегда”, если он стоит по умолчанию. Ни одному приложению не нужно ВСЕГДА иметь доступ к геоданным. Всегда – это значит даже тогда, когда вы приложением не пользуетесь. Возможные исключения – приложения для трекинга, если вы сознательно хотите, чтобы они работали в фоне.
Я не раз видел, как после такой простой оптимизации iPhone/iPad работали на несколько минут и даже часов дольше.
Всем хорошего дня! Рад, если кому-то данная инструкция пригодится…
Непрерывное отслеживание геопозиции при наступлении события
Допустим, мы хотим узнать скользящее значение скорости пользователя в момент, когда он зашёл в определённый регион. При этом приложение может быть выгружено из памяти.
Про скользящее
Значение скорости из CLLocation (location.speed) зачастую неточное. В качестве средней скорости можно использовать скользящее значение, например скорость за последние 50 метров.
Авторизуем геолокацию с типом Always. Далее подписываемся на событие входа в регион:
locationManager.startMonitoring(for: pizzeriaRegion)
И при получении события начинаем трекать геолокацию, как в способе 1:
func locationManager(
_ manager: CLLocationManager,
didEnterRegion region: CLRegion
) {
manager.startUpdatingLocation()
}
Я провёл несколько тестов на устройстве. В момент посещения региона приложение запускается, но система довольно быстро переводит его в состояние suspended, несмотря на то, что мы сконфигурировали и запустили CLLocationManager для подробного отслеживания геопозиции. Продолжать отслеживать геопоцизию непрерывно и рассчитывать скорость не удастся.
Отключение запросов на дружбу
- Откройте приложение «Локатор».
- Перейдите на вкладку «Я».
- Отключите параметр «Запросы на дружбу».
Отключение предоставления данных о геопозиции
Чтобы прекратить предоставление сведений о своем местоположении всем людям, выполните следующие действия. Вы также можете прекратить предоставлять доступ конкретному человеку или отключить параметр «Запросы на дружбу».
- Откройте приложение «Локатор».
- Перейдите на вкладку «Я».
- Отключите функцию «Делиться геопозицией».
- Откройте приложение «Локатор» и перейдите на вкладку «Люди».
- Выберите человека, с которым вы больше не желаете делиться геопозицией.
- Прокрутите вниз и выберите пункт «Не делиться геопозицией».
Отключение запросов на дружбу
- Откройте приложение «Локатор».
- Перейдите на вкладку «Я».
- Отключите параметр «Запросы на дружбу».
Отслеживание геопозиции друзей
Если кто-либо делится с вами сведениями о своей геопозиции или вы просите об этом и этот человек дает на это согласие, его геопозицию можно отслеживать.
Поиск друзей
- Откройте приложение «Локатор» и перейдите на вкладку «Люди».
- На вкладке «Люди» выберите имя друга, который делится с вами сведениями о своей геопозиции.
- Выберите вариант «Маршруты», чтобы открыть приложение «Карты», и следуйте маршруту, чтобы добраться до места, где находится ваш друг.
Если под именем вашего друга отображается ваше местоположение, значит, вы не отслеживаете, где он находится. Если отображается сообщение «Геопозиция не найдена», местоположение этого человека не удается отследить.
Другие возможности
Открыв приложение «Локатор», перейдите на вкладку «Люди» и выберите чье-либо имя. Вы можете сделать следующее.
- Можно просмотреть карточку контакта этого человека.
- Выберите «Маршруты», чтобы просмотреть геопозицию в приложении «Карты».
- Можно выбрать вариант «Уведомления», чтобы узнавать об изменении геопозиции человека или уведомлять других о том, что она изменилась.
- Можно добавить человека в список избранных пользователей или удалить его из него. Из списка избранных пользователей невозможно удалить участников группы семейного доступа.
- Можно выбрать вариант «Изменить название геопозиции», чтобы отметить геопозицию.
Получение уведомлений, когда друг прибудет в определенное место, покинет его или не будет в нем находиться
- Откройте приложение «Локатор» и перейдите на вкладку «Люди».
- Выберите человека, с которым вы хотите делиться уведомлениями.
- Прокрутите вниз и коснитесь «Добавить» в разделе «Уведомления».
- Коснитесь «Уведомить меня», чтобы получать уведомления при изменении местоположения друга*. Коснитесь «Уведомить друга», чтобы уведомлять друга об изменении вашего местоположения.
- В разделе «Когда» выберите «Приходит», «Уходит» или «Не в месте». Если вы делитесь изменением местоположения, выберите «Я прихожу» или «Я ухожу».
- В разделе «Геопозиция» коснитесь нужного пункта, чтобы выбрать свою текущую геопозицию, либо коснитесь пункта «Новая геопозиция», чтобы выбрать другую.
- В разделе «Частота» выберите «Только один раз» или «Каждый раз».
* Когда вы создадите уведомление на основе местоположения, ваш друг будет получать уведомления.
При использовании ios 12 или более ранней версии либо macos mojave или более ранней версии
Приложение «Локатор», объединяющее возможности приложений «Найти iPhone» и «Найти друзей», входит в операционные системы iOS 13, iPadOS, macOS Catalina и их более поздние версии. Вот что вы можете сделать, если у вас установлена iOS 12, macOS Mojave или watchOS 5 или их более ранние версии:
Разбираемся в статусах и состояниях авторизации
В CoreLocation есть 2 запроса для разрешения на использование геолокации:
И 5 возможных статусов авторизации:
public enum CLAuthorizationStatus : Int32 {
case notDetermined = 0
case restricted = 1
case denied = 2
case authorizedAlways = 3
case authorizedWhenInUse = 4
}
В действительности состояний авторизации больше, чем статусов, а переходы между ними кажутся запутанными. Распутываем авторизацию в следующей схеме:
Значение переменной authorizationStatus:
На схеме есть два состояния, которые никак не отражены в статусе authorizationStatus: When In Use Once и Provisional Always. Рассмотрим их поближе.
Руководство пользователя ipad
- Добро пожаловать!
- Поддерживаемые модели
- 12,9‑дюймовый iPad Pro (5‑го поколения)
- iPad Pro (12,9 дюйма, 4-го поколения)
- iPad Pro (12,9 дюйма, 3-го поколения)
- iPad Pro (11 дюймов, 3-го поколения)
- iPad Pro (11 дюймов, 2-го поколения)
- iPad Pro (11 дюймов, 1-го поколения)
- iPad Pro (12,9 дюйма, 1-го и 2-го поколения)
- iPad Pro (10,5 дюйма)
- iPad Pro (9,7 дюйма)
- iPad Air (4-го поколения)
- iPad Air (3-го поколения)
- iPad Air 2
- iPad (9‑го поколения)
- iPad (8-го поколения)
- iPad (7-го поколения)
- iPad (6-го поколения)
- iPad (5-го поколения)
- iPad mini (6‑го поколения)
- iPad mini (5-го поколения)
- iPad mini 4
- Что нового в iPadOS 15
- Быстрые команды
- Акции
- Советы
- Авторские права
Смена статуса авторизации: новые возможности в ios 15
В iOS 15 появился фреймворк CoreLocationUI. В Apple стремятся упростить опыт пользователя в сценариях, когда необходимо разово получить геопозицию. Теперь можно использовать специальную кнопку CLLocationButton (LocationButton в SwiftUI), при нажатии на которую система сама спросит у пользователя разрешение, если это требуется.

Если текущий статус авторизации позволяет хоть какое-то использование геолокации (authorizedAlways, authorizedWhenInUse), то при нажатии на кнопку ничего не произойдёт. В противном случае логика смены статусов авторизации выглядит так, как показано на схеме:
Если пользователь однажды согласился дать разрешение на разовое использование геопозиции, то в другие сессии при нажатии на кнопку приложение будет сразу получать разрешение When In Use Once, без алертов.
Самая интересная фишка здесь — это возможность скинуть состояние авторизации в неопределённое (notDetermined), даже если ранее пользователь запретил использование геолокации.
Простой тест это подтверждает. Выполняем requestWhenInUseAuthorization(), запрещаем использование геолокации. Далее нажимаем на CLLocationButton, разрешаем разовое использование (нажимаем ОК). Перезапускаем приложение, чтобы статус авторизации cбросился в notDetermined. Снова выполняем requestWhenInUseAuthorization(), появляется алерт.
В предыдущих версиях повторный показ алерта был возможен только в случае, если пользователь сам перейдёт в настройки приложения и вручную сбросит запрет на использование геолокации. Таким образом, новый фреймворк даёт разработчикам возможность восстановить (возможно, навсегда потерянный) доступ приложения к геолокации. Задача разработчика — предоставить пользователю новую ценность при запросе авторизации, чтобы избежать повторного запрета.
Новые возможности в iOS 15 потенциально сокращают количество надоедливых алертов, а разработчикам не нужно писать обработку различных сценариев авторизации. Подробнее здесь: Meet the Location Button WWDC 2021.