如何从应用程序打开关闭通知反映到 iPhone 设置中

Posted

技术标签:

【中文标题】如何从应用程序打开关闭通知反映到 iPhone 设置中【英文标题】:How to Turn On Off Notification from application reflect into iPhone settings 【发布时间】:2018-05-24 19:49:26 【问题描述】:

如何使用组件 UISwitch 打开关闭通知表单应用程序。 从设置是否用户打开/关闭任何特定应用程序 UISwitch 的通知使用

打开/关闭
 [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(applicationEnteredForeground:)
        name:UIApplicationWillEnterForegroundNotification
        object:nil];

- (void)applicationEnteredForeground:(NSNotification *)notification 
    NSLog(@"Application Entered Foreground");
    [self notificationEnableDisable];


-(void)notificationEnableDisable
    NSString *iosversion = [[UIDevice currentDevice] systemVersion];
    NSString *prefix = [[iOSversion componentsSeparatedByString:@"."] firstObject];
    float versionVal = [prefix floatValue];

    if (versionVal >= 8)
    
        if ([[UIApplication sharedApplication] currentUserNotificationSettings].types != UIUserNotificationTypeNone)
        
            NSLog(@" Notification ON");

            [self.switch_DailyNotification setOn:YES];


        
        else
        
            [self.switch_DailyNotification setOn:NO];

            NSLog(@" Notification OFF");
        
    
    else
    
        UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
        if (types != UIRemoteNotificationTypeNone)
        
            NSLog(@"Notification ON");
            [self.switch_DailyNotification setOn:YES];

        
        else
        
            [self.switch_DailyNotification setOn:NO];
            NSLog(@" Notification OFF");
        
    

当用户从 iPhone 设置打开/关闭通知时,上面的代码可以正常工作。

如何从应用程序实现开启/关闭iPhone设置中的通知?

注意:这是针对 LocalNotification 而不是 PushNotification!

【问题讨论】:

How to enable/disable push notification from the app?的可能重复 【参考方案1】:

由于苹果的限制,你不能这样做,不管是本地通知还是推送通知:

https://***.com/a/10510610/8873550

【讨论】:

以上是关于如何从应用程序打开关闭通知反映到 iPhone 设置中的主要内容,如果未能解决你的问题,请参考以下文章

从 QQ “振动” 理解 iPhone 通知

iPhone应用程序中的推送通知[关闭]

关闭推送通知横幅

iPhone:存储和显示推送通知

如何暂时禁用我的 iPhone 应用程序安排的所有本地通知?

如何在我的应用程序中获取推送通知设置?