2

,我檢查,如果用戶啓用了我的應用程序的通知,以使本地通知,我做了這種方式:UIRemoteNotificationType是UIRemoteNotificationTypeNone另外,如果是在我的應用程序啓用

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
    if (types != UIRemoteNotificationTypeNone) 
    { 
     //All enabled 
    } else { 
     //not enabled 
    } 

但我有一些用戶在iOS設置中啓用了一個問題,他們向我發送了一個截圖,但都是正確的,但代碼在else語句中,就好像它全部禁用了一樣。 什麼是問題,任何人都知道我可以修復它?

由於

+0

那麼對於那些用戶,這種情況下類型的價值是什麼?也許他們沒有完全啓用它。它是否有完整的代碼?你註冊通知嗎? –

+0

我無法知道值類型是什麼,因爲它們在另一個國家,我無法將它連接到我的計算機並使用xcode運行,它們向我發送設置的屏幕截圖,並且它們都在本機iOS設置中啓用 – Piero

回答

2
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
UIRemoteNotificationType allEnableType = UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge ; 
UIRemoteNotificationType disableType = UIRemoteNotificationTypeNone ; 
if (types == allEnableType) { 
    // all enable 
} else if (types == disableType) { 
    // all disable 
} else { 
    // some enable 
} 

另一個遠程通知類型是可用的IOS 5.0 UIRemoteNotificationTypeNewsstandContentAvailability

0
func isRegisteredForPushNotifications() -> Bool { 
    if let notificationSettings = application.currentUserNotificationSettings() { 
    return notificationSettings.types != UIUserNotificationType.None 
    } 
    return false 
} 

我在夫特2中使用此之後,測試了iOS9。

+0

和Swift 3?我無法找到.none :( –

相關問題