Я хочу проверить, присутствует ли предупреждение в моем окне или нет. Предупреждение о том, что GPS (sumthing как «ваше приложение» будет хотеть использовать ваше текущее местоположение с кнопками «Не разрешать и разрешать»). Я хочу установить некоторый флаг, если это предупреждение присутствует на экране. Если кто-нибудь это знает, пожалуйста, помогите мне в решении этой проблемы.проверка наличия GPS-оповещения или нет
ответ
for (UIWindow* window in [UIApplication sharedApplication].windows) {
NSArray* subviews = window.subviews;
if ([subviews count] > 0)
if ([[subviews objectAtIndex:0] isKindOfClass:[UIAlertView class]])
return YES;
}
return NO;
это поможет ...
Я пробовал это, но я думаю, что этот метод полезен, когда вы представляете предупреждение с помощью [alsertView show] ;. Его не работает в случае оповещений iPhone (например, о службах определения местоположения) – anshul
Могу ли я спросить, с какой целью вы хотите проверить это оповещение или нет.? Так что мы можем дать вам лучшее предложение в соответствии с этим. – Rupesh
Если вы разрабатываете для iOS4.2 или позже, чем вы можете authorizationStatus
из CLLocationManager
класса.
Для этого вам нужно будет указать переменную [CLLocationManager authorizationStatus]
, если ее значение равно kCLAuthorizationStatusNotDetermined
, после чего появится предупреждение.
В iOS 5 или более поздняя версия являются одним из вариантов, посредством которого использование может сбросить предупреждение о местоположении в этом случае, и статус будет kCLAuthorizationStatusNotDetermined
. Поэтому, если ваше приложение запущено, и пользователь переключается на установку для сброса этого свойства, то вам понадобится внедрить следующий метод делегирования CLLocationManagerDelegate
.
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
switch (status)
{
case kCLAuthorizationStatusNotDetermined:
//If this is the case than alert will be shown
break;
case kCLAuthorizationStatusDenied:
break;
case kCLAuthorizationStatusRestricted:
break;
case kCLAuthorizationStatusAuthorized:
break;
default:
break;
}
}
Спасибо,
- 1. проверка наличия пакета или нет
- 2. Проверка наличия флажков или нет
- 3. Проверка наличия суммы или нет
- 4. Проверка наличия внешней библиотеки JS или нет
- 5. Проверка наличия столбца в шаблоне или нет?
- 6. Проверка наличия указателя на память или нет
- 7. проверка наличия записи или нет в php
- 8. Проверка наличия определенных элементов или нет
- 9. Firebase: Проверка наличия узла или нет
- 10. Проверка наличия вложенного элемента JSON или нет
- 11. Проверка наличия подходящего интернета или нет
- 12. Проверка наличия или отсутствия popover
- 13. Проверка наличия фотографии в наборе или нет (Flickr4Java)
- 14. проверка наличия имени пользователя в базе данных существует или нет
- 15. Android: Облицовка java.lang.SecurityException только проверка наличия Интернета или нет
- 16. PHP - Проверка наличия или отсутствия индекса массива
- 17. Проверка наличия приложения?
- 18. Проверка наличия ключа в стандартеUserDefaults или NSNull
- 19. Проверка наличия страницы iFrame
- 20. Проверка наличия Dict Value
- 21. Проверка наличия общих предпочтений
- 22. Проверка наличия приложения
- 23. Проверка наличия DIV
- 24. Проверка наличия файла
- 25. Проверка наличия URL
- 26. Проверка наличия UIGraphicsBeginImageContextWithOptions
- 27. Swift: проверка наличия uitextfield
- 28. Openpyxl - проверка наличия ячейки
- 29. Проверка наличия песни
- 30. Проверка наличия очереди
вы получите это предупреждение только один раз, когда приложение пытается использовать менеджер местоположения в первый раз, может быть, вы можете сделать ваши вещи сразу после запуска местоположения кормушки –
я, я думал о используя флаг и сбросив его в первый раз. Но я хочу определить, присутствует ли предупреждение или нет. – anshul
, что предупреждение является сгенерированным системой, может быть попытка прослушать какое-либо уведомление, которое публикуется при появлении этого предупреждения. –