我想在我的应用中设置本地通知

Posted

技术标签:

【中文标题】我想在我的应用中设置本地通知【英文标题】:I want to set local notification in my app 【发布时间】:2014-12-09 10:08:52 【问题描述】:

我是 Objective-c 的新手,。

应用程序应同时适用于 ios 8 和低于 IOS 8 的版本。

请帮我详细的代码。

【问题讨论】:

开始阅读苹果文档About Local Notifications and Remote Notifications 你至少用谷歌搜索过吗? 我看过那个文件,但我不明白编码方面该怎么做 我已将此代码放入 appdelagate.m if (([[[UIDevice currentDevice] systemVersion] compare:@"8.0" options:NSNumericSearch] == NSOrderedSame)) if ([UIApplication instancesRespondToSelector: @selector(registerUserNotificationSettings:)]) [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound 类别:nil]]; else 但我不知道在 else 部分该做什么 检查this和this 【参考方案1】:

试试这个:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    #end

然后你会触发这样的本地通知:

- (void)showNotificationWithMessage:(NSString *)message

    UILocalNotification *localNotification = [[UILocalNotification alloc] init];
    localNotification.fireDate = [NSDate date];
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
    localNotification.alertBody = message;
    localNotification.soundName = UILocalNotificationDefaultSoundName;
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

【讨论】:

@sejalthesiya 是肯定的。请尝试告诉我。 @sejalthesiya 确保您调用此函数一次。如果此函数被调用两次,则通知将被注册两次并显示两次。 我只调用一次。我可以在创建通知之前使用 cancelAllLocalNotifications 吗? 试试然后告诉我 还有2次。

以上是关于我想在我的应用中设置本地通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中设置工作日多天的本地通知?

如何在我的 AppDelegate 上设置多个本地通知?

在本地通知中设置repeatInterval

在 iOS8-iOS9 中设置提醒/警报

如何将事件侦听器添加到本地反应原生通知

静默本地通知 IOS