Как уже упоминали другие, я думаю, что лучший способ сделать это - иметь флаг в didFinishLaunchingWithOptions в делегате приложения, который проверяет, является ли это первым запуском или нет.
Если приложение запускается в первый раз, вы можете позвонить
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Это отменит любые существующие уведомления.
Например:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// this flag will need to be stored somewhere non-volatile such as using CoreData
// or user defaults
if(flag == nil || [flag count] ==0){
[[UIApplication sharedApplication] cancelAllLocalNotifications];
// update your flag so that it fails this check on any subsequent launches
flag = 1;
}
{