Попробуйте использовать self.window
вместо self.view
, когда этот код находится внутри AppDelegate.Также обязательно включите соответствующие заголовочные файлы и объявите класс.
Однако я рекомендую вам поместить этот код в viewController, который сначала просыпается.Вот один из способов сделать это.
Установите BOOL
в NSUserDefaults
, называемом justWokeUp
.Затем в appDelegate установите значение YES
, когда приложение проснется:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setBool:YES forKey:@"justWokeUp];
}
Теперь в любом viewController, который может загружаться первым при возобновлении работы приложения, проверьте это значение, чтобы увидеть,Вы должны отправить предупреждение:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if ([standardUserDefaults boolForKey:@"justWokeUp"]) {
[MKInfoPanel showPanelInView:self.view
type:MKInfoPanelTypeInfo
title:@"Total:Health Support"
subtitle:@"Welcome"
hideAfter:3];
[standardUserDefaults setBool:NO forKey:@"justWokeUp"];
}