diff --git a/iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m b/iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m index 101ad0792..329391ab9 100644 --- a/iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m +++ b/iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m @@ -59,8 +59,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( id notificationReceiverBlock = ^(OSNotification *notification) { NSLog(@"Received Notification - %@", notification.payload.notificationID); - - [[UIApplication sharedApplication] setApplicationIconBadgeNumber:11]; }; [OneSignal initWithLaunchOptions:launchOptions diff --git a/iOS_SDK/OneSignalDevApp/OneSignalDevApp/Info.plist b/iOS_SDK/OneSignalDevApp/OneSignalDevApp/Info.plist index aa7551392..6d6131ecb 100644 --- a/iOS_SDK/OneSignalDevApp/OneSignalDevApp/Info.plist +++ b/iOS_SDK/OneSignalDevApp/OneSignalDevApp/Info.plist @@ -2,8 +2,6 @@ - OneSignal_require_privacy_consent - CFBundleDevelopmentRegion en CFBundleExecutable @@ -31,10 +29,8 @@ Test Location NSLocationWhenInUseUsageDescription Test Location2 - OneSignal_app_groups_key - group.com.onesignal.example.testgroup - OneSignal_disable_badge_clearing - + OneSignal_require_privacy_consent + UIBackgroundModes remote-notification @@ -47,6 +43,8 @@ armv7 + OneSignal_disable_badge_clearing + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/iOS_SDK/OneSignalDevApp/OneSignalNotificationServiceExtension/Info.plist b/iOS_SDK/OneSignalDevApp/OneSignalNotificationServiceExtension/Info.plist index 242e4af43..02136b044 100644 --- a/iOS_SDK/OneSignalDevApp/OneSignalNotificationServiceExtension/Info.plist +++ b/iOS_SDK/OneSignalDevApp/OneSignalNotificationServiceExtension/Info.plist @@ -2,8 +2,6 @@ - OneSignal_app_groups_key - group.com.onesignal.example.testgroup CFBundleDevelopmentRegion en CFBundleDisplayName diff --git a/iOS_SDK/OneSignalSDK/Source/OneSignalExtensionBadgeHandler.m b/iOS_SDK/OneSignalSDK/Source/OneSignalExtensionBadgeHandler.m index 6a4ac8fdb..0b7dd4746 100644 --- a/iOS_SDK/OneSignalSDK/Source/OneSignalExtensionBadgeHandler.m +++ b/iOS_SDK/OneSignalSDK/Source/OneSignalExtensionBadgeHandler.m @@ -63,6 +63,17 @@ + (NSInteger)currentCachedBadgeValue { return [(NSNumber *)[userDefaults objectForKey:ONESIGNAL_BADGE_KEY] integerValue]; } +//gets the NSBundle of the primary application - NOT the app extension +//this way we can determine the bundle ID for the host (primary) application. ++ (NSString *)primaryBundleIdentifier { + NSBundle *bundle = [NSBundle mainBundle]; + if ([[bundle.bundleURL pathExtension] isEqualToString:@"appex"]) + bundle = [NSBundle bundleWithURL:[[bundle.bundleURL URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]]; + + return [bundle bundleIdentifier]; + +} + + (void)updateCachedBadgeValue:(NSInteger)value { //since badge logic can be executed in an extension, we need to use app groups to get //a shared NSUserDefaults from the app group suite name @@ -77,7 +88,7 @@ + (NSString *)appGroupName { var appGroupName = (NSString *)[[NSBundle mainBundle] objectForInfoDictionaryKey:ONESIGNAL_APP_GROUP_NAME_KEY]; if (!appGroupName) - appGroupName = [NSString stringWithFormat:@"group.%@.%@", [[NSBundle mainBundle] bundleIdentifier], @"onesignal"]; + appGroupName = [NSString stringWithFormat:@"group.%@.%@", OneSignalExtensionBadgeHandler.primaryBundleIdentifier, @"onesignal"]; return [appGroupName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; }