Уведомление о расположении на основе последней функции iOS -- ios поле с участием ios8 поле с участием mapkit поле с участием cllocationmanager поле с участием geofencing пол Связанный проблема

Location Notification's based on Latest iOS Feature


0
vote

проблема

русский

Я хотел бы знать, реализуется ли следующее?

Я хочу, чтобы мое приложение iOS предоставляет пользователям уведомление, когда достигает определенного местоположения, как установлено в приложении (даже если приложение будет убито)

Английский оригинал

I would like to know whether the following is implementable ?

I want my iOS app to give users a notification when the reach a particular location as set in the app (even if the app is killed)

</div
              
   
   

Список ответов

1
 
vote
vote
Лучший ответ
 

Вы можете достичь этого с новой структурой уведомления пользователя, представленной в iOS 10.

Есть <код> UNLocationNotificationTrigger , который позволит вам указать <код> CLRegion . Уведомление будет опубликована, когда устройство пользователя входит или оставляет <код> CLRegion . Используйте объект CLRegion , чтобы указать, доставляет ли уведомления о записи, на выходе или обоих.

Обратитесь к:

usernotifications framework:

https://developer.apple.com/reference/usernotifications

UnocationNotiCationTorgerger:

https://developer.apple.com/reference/usernotifications/unlocationNotcationTorger

 

You can achieve this with the new User Notification framework introduced in iOS 10.

There have a UNLocationNotificationTrigger which let you specify a CLRegion. A notification will be post when the user’s device enters or leaves the CLRegion. Use the CLRegion object to specify whether to deliver notifications on entry, on exit, or both.

Refer to:

UserNotifications framework:

https://developer.apple.com/reference/usernotifications

UNLocationNotificationTrigger:

https://developer.apple.com/reference/usernotifications/unlocationnotificationtrigger

</div
 
 
1
 
vote

Когда приложение будет убито, вы не можете, но вы все равно можете сделать это в фоновом режиме.

 

When the app is killed you can't , but you can still do it in background mode.

</div
 
 
         
         
1
 
vote

<сильный> Первый способ: UNLocationNotificationTrigger уведомляет пользователя, когда пользователь вводит в указанное место или выйти из указанного местоположения ссылку обеспечивает точное реализация.

<сильный> Второй способ: мониторинга существенных изменений может сделать это для вас, но результат не может быть 100%. назвать следующие методом из <код> applicationDidEnterBackground и <код> applicationWillTerminate: ;

 <код> - (void)startSignificantChangeUpdates {     // Create the location manager if this object does not     // already have one.     if (nil == locationManager)         locationManager = [[CLLocationManager alloc] init];      locationManager.delegate = self;     [locationManager startMonitoringSignificantLocationChanges]; }   
<Р> и когда приложение входит передний план <код> applicationWillEnterForeground: вызова следующий способ (изменить его в соответствии с вашими требованиями т.е. точности & Amp; расстояние фильтр)
 <код> - (void)startStandardUpdates {     // Create the location manager if this object does not     // already have one.     if (nil == locationManager)         locationManager = [[CLLocationManager alloc] init];      locationManager.delegate = self;     locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;      // Set a movement threshold for new events.     locationManager.distanceFilter = 500; // meters      [locationManager startUpdatingLocation]; }   

<сильный> Из яблочной документации: Сервис места значащего изменения обеспечивает обновления только тогда, когда произошло существенное изменение в местоположении устройства, например, 500 метров или более. Очень важно, что вы используете услугу определения местоположения значащего изменения правильно, так как он будит систему и приложение, по крайней мере, каждые 15 минут, даже если не произошло никаких изменений местоположения, и он работает непрерывно, пока вы не остановите его. <Р> Для 100% точности можно включать конец сервера и посылать немые уведомления от сервера, который даст вашему приложению второе окна 30, чтобы определить местоположение пользователя и запустить локальное оповещение.

 

First Way: UNLocationNotificationTrigger notifies user when user enters the specified location or exit the specified location this link provides exact implementation.

Second Way: monitoring significant changes can do this for you but the result may not be 100%. call following method from applicationDidEnterBackground and applicationWillTerminate:;

- (void)startSignificantChangeUpdates {     // Create the location manager if this object does not     // already have one.     if (nil == locationManager)         locationManager = [[CLLocationManager alloc] init];      locationManager.delegate = self;     [locationManager startMonitoringSignificantLocationChanges]; } 

and when app enters foreground applicationWillEnterForeground: call following method (modify it as per your requirements i.e. accuracy & distance filter)

- (void)startStandardUpdates {     // Create the location manager if this object does not     // already have one.     if (nil == locationManager)         locationManager = [[CLLocationManager alloc] init];      locationManager.delegate = self;     locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;      // Set a movement threshold for new events.     locationManager.distanceFilter = 500; // meters      [locationManager startUpdatingLocation]; } 

From apple documentation: The significant-change location service delivers updates only when there has been a significant change in the device’s location, such as 500 meters or more. It’s crucial that you use the significant-change location service correctly, because it wakes the system and your app at least every 15 minutes, even if no location changes have occurred, and it runs continuously until you stop it.

For 100% accuracy you can involve server end and send silent notifications from server which will give your application a 30 second window to determine user location and fire a local notification.

</div
 
 

Связанный проблема

0  Не может запустить TCP-сервер на iOS, сотовой  ( Cannot run tcp server on ios cellular ) 
Я пытаюсь запустить TCP-сервер на iOS из сотовой связи. В целях задачи этого вопроса я написал эту очень упрощенную версию сервера и клиента в C, используя So...

376  Как я могу преобразовать Swift Array в строку?  ( How do i convert a swift array to a string ) 
Я знаю, как программно сделать это, но я уверен, что есть встроенный ... Каждый язык, который в котором у меня использовал, имеет какое-то текстовое предста...

0  Как трепетать файлы записи в iOS iPhone "Найти на моем телефоне" Папка  ( How to flutter write files to ios iphone find on my phone folder ) 
Моя цель - позволить моему приложению писать и читать файлы, созданные моим приложением. Например, напишите, а затем разрешите пользователю электронной почты ...

0  Coredata не может выполнить неисправность во время сохранения операции с фона MOC  ( Coredata cant fulfill a fault during save operation from background moc ) 
Я использую два MOCS, один для основного потока и другой MOC на фоновой нити. На главной ните у меня есть UiableView, работающий с FRC (NSFetchedResultScontro...

1  PDF Масштабирование внутри UiscrollView  ( Pdf zooming inside uiscrollview ) 
У меня есть файл PDF 2835 пикселей внутри 2835 пикселей UiscrollView. Чтобы отобразить PDF, я использую CATILEDLAYER. Моя проблема в том, что когда я уменьш...

8  Кормление моих собственных видео на Screensaver Apple TV  ( Feeding my own videos to apple tv screensaver ) 
На 4-м GEN Apple TV Вы можете выбрать пользовательский URL-адрес файла JSON для загрузки фильмов заставки, кроме Apple. Для этого вам нужно войти в настройки,...

1  Не удается изменить размер кадра UiscrollView  ( Cannot resize uiscrollviews frame ) 
У меня есть UiscrollView с его рамой и содержимым с таким же размером. Я хочу изменить высоту кадра ScrollView, когда появится клавиатура, но она не работает....

0  Subview iOS не всегда появляется  ( Ios subview doesnt always appears ) 
У меня есть приложение, с большим количеством видов и подсвидений. В моем делегате приложения я открываю подсыдку каждый раз, когда я получаю уведомление. Я...

0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто]  ( Best practises for network call request response in iphone application programmi ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

0  Должен ли я использовать Mac для разработки Javafx для iOS  ( Do i have to use a mac to develop javafx for ios ) 
Документация http://docs.gluonhq.com/charm/4.0.1 / # _ iOS говорит, что мне нужно «Mac с MacOS X 10.9 или превосходящим» для разработки для iOS. Но я не пон...

1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode?  ( How would i align an image to the bottom right of the view using size classes in ) 
У меня есть изображение, которое я хочу выровнять с правым нижним углом вида, а затем я хочу, чтобы остальное изображение масштабируется, чтобы заполнить дост...

0  Фоновый режим (Fetch) в iOS 8  ( Background mode fetch in ios 8 ) 
Я работаю над приложением iOS, которое использует фоновый режим для публикации обновления на сервере. Приложение Wack, проверяет состояние батареи, выключает ...

1  Попытка запуска двух процессов одновременно в GCD - iOS  ( Attempting to run two processes simultaneously in gcd ios ) 
Я пытаюсь загрузить два набора данных на заднем плане одновременно через GCD в iOS. В настоящее время я построил две отдельные одновременные очереди, в которы...

0  Создать видео слияние с аудио, как Ticktock и Post в SWIFT IOS  ( Create video merge with audio like ticktock and post in swift ios ) 
Neade Некоторые библиотеки или рамки для добытого видеоредактивации и видео. https://github.com/ltebean/Live ...

0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS  ( Failed to send message using rtcdatachannel on ios ) 
Мне удалось разделить видео и аудио между A и B, и я нахожу RTCDatachannelState изменился на KRTCDatachannelStateOpen. <код> - (void)channelDidChangeState:(...

Связанный проблема

0  Не может запустить TCP-сервер на iOS, сотовой 
376  Как я могу преобразовать Swift Array в строку? 
0  Как трепетать файлы записи в iOS iPhone "Найти на моем телефоне" Папка 
0  Coredata не может выполнить неисправность во время сохранения операции с фона MOC 
1  PDF Масштабирование внутри UiscrollView 
8  Кормление моих собственных видео на Screensaver Apple TV 
1  Не удается изменить размер кадра UiscrollView 
0  Subview iOS не всегда появляется 
0  Лучшие практики для запроса / ответа на сетевой вызов в приложении iPhone Программирование [Закрыто] 
0  Должен ли я использовать Mac для разработки Javafx для iOS 
1  Как бы я выровнял изображение в нижнем правом направлении вида, используя классы размера в XCode? 
0  Фоновый режим (Fetch) в iOS 8 
1  Попытка запуска двух процессов одновременно в GCD - iOS 
0  Создать видео слияние с аудио, как Ticktock и Post в SWIFT IOS 
0  Не удалось отправить сообщение с помощью RTCDatachannel на iOS