Поскольку ваше предупреждение пытается сообщить вам, что проблема в application:didFinishLaunchingWithOptions:
в.
if (notification) {
NSString *stringReminder = [notification.userInfo objectForKey:@"TextforReminder"];
[viewController showReminder:stringReminder];
}
application.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UIViewController
не имеет метода с именем showReminder:
, поэтому я предполагаю, что он входит в ваш подкласс одного из ваших UIViewController
подклассов.
Вам нужно сделать две вещи,
1) Заменить «viewController
» на «viewController1
» или «viewController2
», в зависимости от того, какой метод имеет showReminder:
2) Вам нужно подождать, пока эти viewController-ы действительно появятся на экране, прежде чем показывать больше представлений поверх них. Поэтому переместите блок выше до [self.window makeKeyAndVisible]
, но до return YES
.
Отредактировано как комментарий говорит SettingViewController
будет иметь метод showReminder:
;
Насколько проблема получения LocalNotifications
во время работы приложения. Если ваше приложение простое, то, возможно, просто замените 'viewController
' на:
(SettingsViewController *)[self.tabBarController.viewControllers objectAtIndex:1]
Поскольку в коде вы добавляете его как второй элемент свойства viewControllers
.