Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

"Проблемы доступа к точному местоположению в iOS 14 для приложений Delphi FMX"

Delphi , Программа и Интерфейс , Формы

Проблемы доступа к точному местоположению в iOS 14 для приложений Delphi FMX

С выходом iOS 14 Apple отделила уровень точности от статуса авторизации местоположения, что создало определенные сложности для разработчиков, использующих Delphi FMX для создания приложений под iOS. В этой статье мы рассмотрим проблему доступа к точному местоположению в iOS 14 и предложим решение, а также альтернативный подход.

Проблема

До iOS 14 определение уровня точности местоположения было простым: достаточно было проверить значение свойства accuracyAuthorization объекта CLLocationManager. Однако с выходом iOS 14 это свойство стало недоступным из кода пользователя, что усложнило проверку уровня точности для приложений, созданных с помощью Delphi FMX.

Решение Dave Nottage

Dave Nottage предложил решение, которое заключается в создании экземпляра CLLocationManager и проверке значения свойства accuracyAuthorization. Если уровень точности равен CLAccuracyAuthorizationReducedAccuracy, а вашему приложению требуется высокая точность, информируйте пользователя о необходимости изменить настройки местоположения вручную.

Вот пример кода на Object Pascal (Delphi), демонстрирующий это решение:

uses
  iOSapi.CoreLocation;

procedure TForm1.Button1Click(Sender: TObject);
var
  LManager: CLLocationManager;
begin
  LManager := TCLLocationManager.Create;
  if LManager.accuracyAuthorization = CLAccuracyAuthorizationReducedAccuracy then
    // Информируйте пользователя о необходимости изменить настройки местоположения
end;

Альтернативное решение

Хотя решение Dave Nottage работает отлично, оно требует создания экземпляра CLLocationManager и проверки его свойства. В качестве альтернативы можно использовать событие OnAuthorizedStatusChanged компонента TLocationSensor, который уже предоставляет информацию об уровне точности.

Вот пример кода на Object Pascal (Delphi), демонстрирующий это альтернативное решение:

procedure TForm1.TLocationSensor1AuthorizedStatusChanged(Sender: TObject);
begin
  if TLocationSensor(Sender).Accuracy = TLocationAccuracy.Unknown then
    // Информируйте пользователя о необходимости изменить настройки местоположения
end;

В этом примере мы проверяем значение свойства Accuracy компонента TLocationSensor. Если оно равно Unknown, это означает, что приложению разрешено использовать только приблизительное местоположение. В этом случае информируйте пользователя о необходимости изменить настройки местоположения вручную.

Вывод

В этой статье мы рассмотрели проблему доступа к точному местоположению в iOS 14 для приложений Delphi FMX и предложили два решения: первое основано на подходе Dave Nottage, а второе использует альтернативный подход с компонентом TLocationSensor. Оба решения позволят вам информировать пользователей о необходимости изменить настройки местоположения, если приложению разрешено использовать только приблизительное местоположение.

Надеемся, что Embarcadero добавит соответствующее свойство или функцию в компонент TLocationSensor, чтобы упростить работу с уровнями точности местоположения в будущих версиях Delphi.

Создано по материалам из источника по ссылке.

Статья описывает проблемы доступа к точному местоположению в iOS 14 для приложений, созданных с помощью Delphi FMX, и предлагает два решения для информирования пользователей о необходимости изменить настройки местоположения вручную, если приложению разреш


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Формы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:19:36/0.005897045135498/1