I am writing a method to check if the current user settings consist of certain types of notifications.
When checking to see if the current settings of UIUserNotificationsType.None, it returns true for both permission and failure. Does anyone know why this is?
func registerForAllNotificationTypes() { registerNotificationsForTypes([.Badge, .Alert, .Sound]) } func registerNotificationsForTypes(types:UIUserNotificationType) { let settings = UIUserNotificationSettings.init(forTypes:types, categories: nil) UIApplication.sharedApplication().registerUserNotificationSettings(settings) } func isRegisteredForAnyNotifications() -> Bool { let currentSettings = UIApplication.sharedApplication().currentUserNotificationSettings() print(currentSettings) print((currentSettings?.types.contains(.Alert))!) print((currentSettings?.types.contains(.Badge))!) print((currentSettings?.types.contains(.Sound))!) print((currentSettings?.types.contains(.None))!) return (currentSettings?.types.contains(.Alert))! //Just testing .Alert for now }
When permission is enabled:
Optional(<UIUserNotificationSettings: 0x7fabdb719360; types: (UIUserNotificationTypeAlert UIUserNotificationTypeBadge UIUserNotificationTypeSound);>) true true true true
When permission is disabled:
Optional(<UIUserNotificationSettings: 0x7f96d9f52140; types: (none);>) false false false true
micap source share