iOS推送權限開發(fā)判斷

推送權限的申請

  • 加入頭文件
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import <UserNotifications/UserNotifications.h>
#endif

申請權限

-(void) requestNotification
{
    if (@available(iOS 10, *))
    {
        UNUserNotificationCenter * center = [UNUserNotificationCenter currentNotificationCenter];
        center.delegate = self;
        [center requestAuthorizationWithOptions:UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound completionHandler:^(BOOL granted, NSError * _Nullable error) {
            
            if (granted) {
                // 允許推送
            }else{
                //不允許
            }
            
        }];
    }
    else if(@available(iOS 8 , *))
    {
        UIApplication * application = [UIApplication sharedApplication];
        
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]];
        [application registerForRemoteNotifications];
    }
    else
    {
        UIApplication * application = [UIApplication sharedApplication];
        [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
        [application registerForRemoteNotifications];
    }
}

查看當前的權限

-(void) checkCurrentNotificationStatus
{
    if (@available(iOS 10 , *))
    {
         [[UNUserNotificationCenter currentNotificationCenter] getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
            
            if (settings.authorizationStatus == UNAuthorizationStatusDenied)
            {
                // 沒權限
            }
            
        }];
    }
    else if (@available(iOS 8 , *))
    {
        UIUserNotificationSettings * setting = [[UIApplication sharedApplication] currentUserNotificationSettings];
        
        if (setting.types == UIUserNotificationTypeNone) {
            // 沒權限
        }
    }
    else
    {
        UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
        if (type == UIUserNotificationTypeNone)
        {
            // 沒權限
        }
    }
}

沒權限進入設置頁面

#pragma mark 沒權限的彈窗
-(void) showAlrtToSetting
{
    UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"您還沒有允許****權限" message:@"去設置一下吧" preferredStyle:UIAlertControllerStyleAlert];
    
    UIAlertAction * cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        
    }];
    UIAlertAction * setAction = [UIAlertAction actionWithTitle:@"去設置" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
        dispatch_async(dispatch_get_main_queue(), ^{
            if ([[UIApplication sharedApplication] canOpenURL:url]) {
                [[UIApplication sharedApplication] openURL:url];
            }
        });
        
    }];
    
    [alert addAction:cancelAction];
    [alert addAction:setAction];
    
    [self presentViewController:alert animated:YES completion:nil];
}

下篇:本地通知消息的發(fā)送

如有瑕疵之處,望大家不吝指教

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末稍坯,一起剝皮案震驚了整個濱河市绞幌,隨后出現的幾起案子,更是在濱河造成了極大的恐慌歹撒,老刑警劉巖盐固,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異秋柄,居然都是意外死亡,警方通過查閱死者的電腦和手機涕蜂,發(fā)現死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門华匾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人机隙,你說我怎么就攤上這事蜘拉。” “怎么了有鹿?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵旭旭,是天一觀的道長。 經常有香客問我葱跋,道長持寄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任娱俺,我火速辦了婚禮稍味,結果婚禮上,老公的妹妹穿的比我還像新娘荠卷。我一直安慰自己模庐,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布油宜。 她就那樣靜靜地躺著掂碱,像睡著了一般怜姿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疼燥,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天沧卢,我揣著相機與錄音,去河邊找鬼醉者。 笑死但狭,一個胖子當著我的面吹牛,可吹牛的內容都是我干的湃交。 我是一名探鬼主播熟空,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搞莺!你這毒婦竟也來了息罗?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤才沧,失蹤者是張志新(化名)和其女友劉穎迈喉,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體温圆,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡挨摸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了岁歉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片得运。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖锅移,靈堂內的尸體忽然破棺而出熔掺,到底是詐尸還是另有隱情,我是刑警寧澤非剃,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布置逻,位于F島的核電站,受9級特大地震影響备绽,放射性物質發(fā)生泄漏券坞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一肺素、第九天 我趴在偏房一處隱蔽的房頂上張望恨锚。 院中可真熱鬧,春花似錦倍靡、人聲如沸眠冈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗顽。三九已至,卻和暖如春雨让,著一層夾襖步出監(jiān)牢的瞬間雇盖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工栖忠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留崔挖,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓庵寞,卻偏偏與公主長得像狸相,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捐川,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,304評論 25 707
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網易云信 SDK 為 Web 應用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,786評論 0 15
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理脓鹃,服務發(fā)現,斷路器古沥,智...
    卡卡羅2017閱讀 134,707評論 18 139
  • 談到到何以解憂瘸右,我最近聽到兩種聲音,如果我們想到曹孟德有一首《短歌行》岩齿,我們現在可以總結有三種太颤。 第一種聲音公眾號...
    b96282a0fd8f閱讀 361評論 0 1
  • 我相信愛情的亙古不變 即使 玫瑰會凋謝 秋葉會死去 我相信婚姻的百年琴瑟 即使 容顏會衰老 生命會殆盡 去愛你所擁...
    約見閱讀 303評論 5 1