diff --git a/OneSignal.podspec b/OneSignal.podspec index 60f213bb5..0a5005b3c 100644 --- a/OneSignal.podspec +++ b/OneSignal.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OneSignal" - s.version = "1.10.0" + s.version = "1.10.1" s.summary = "OneSignal push notification library for mobile apps." s.homepage = "https://onesignal.com" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/iOS_SDK/Framework/OneSignal.framework/Versions/A/Headers/OneSignal.h b/iOS_SDK/Framework/OneSignal.framework/Versions/A/Headers/OneSignal.h index c6a038189..cf0bef424 100755 --- a/iOS_SDK/Framework/OneSignal.framework/Versions/A/Headers/OneSignal.h +++ b/iOS_SDK/Framework/OneSignal.framework/Versions/A/Headers/OneSignal.h @@ -42,7 +42,7 @@ typedef void (^OneSignalHandleNotificationBlock)(NSString* message, NSDictionary @property(nonatomic, readonly, copy) NSString* app_id; -extern NSString* const VERSION; +extern NSString* const ONESIGNAL_VERSION; typedef NS_ENUM(NSUInteger, ONE_S_LOG_LEVEL) { ONE_S_LL_NONE, ONE_S_LL_FATAL, ONE_S_LL_ERROR, ONE_S_LL_WARN, ONE_S_LL_INFO, ONE_S_LL_DEBUG, ONE_S_LL_VERBOSE diff --git a/iOS_SDK/Framework/OneSignal.framework/Versions/A/OneSignal b/iOS_SDK/Framework/OneSignal.framework/Versions/A/OneSignal index 3d5345421..b8455f93c 100644 Binary files a/iOS_SDK/Framework/OneSignal.framework/Versions/A/OneSignal and b/iOS_SDK/Framework/OneSignal.framework/Versions/A/OneSignal differ diff --git a/iOS_SDK/OneSignal.xcodeproj/project.xcworkspace/xcshareddata/OneSignal.xccheckout b/iOS_SDK/OneSignal.xcodeproj/project.xcworkspace/xcshareddata/OneSignal.xccheckout index 21e299f75..ab4b8736c 100644 --- a/iOS_SDK/OneSignal.xcodeproj/project.xcworkspace/xcshareddata/OneSignal.xccheckout +++ b/iOS_SDK/OneSignal.xcodeproj/project.xcworkspace/xcshareddata/OneSignal.xccheckout @@ -7,14 +7,14 @@ IDESourceControlProjectIdentifier 82DF9B41-8B65-40E7-832A-C61D19DFA081 IDESourceControlProjectName - OneSignal + project IDESourceControlProjectOriginsDictionary 5A4AFF41A71B5F8D4741699EC46766398BC4FE44 https://github.com/Hiptic/OneSignal IDESourceControlProjectPath - SDK/iOS/iOS_SDK/OneSignal.xcodeproj + SDK/iOS/iOS_SDK/OneSignal.xcodeproj/project.xcworkspace IDESourceControlProjectRelativeInstallPathDictionary 5A4AFF41A71B5F8D4741699EC46766398BC4FE44 diff --git a/iOS_SDK/OneSignal/OneSignal.h b/iOS_SDK/OneSignal/OneSignal.h index c6a038189..cf0bef424 100755 --- a/iOS_SDK/OneSignal/OneSignal.h +++ b/iOS_SDK/OneSignal/OneSignal.h @@ -42,7 +42,7 @@ typedef void (^OneSignalHandleNotificationBlock)(NSString* message, NSDictionary @property(nonatomic, readonly, copy) NSString* app_id; -extern NSString* const VERSION; +extern NSString* const ONESIGNAL_VERSION; typedef NS_ENUM(NSUInteger, ONE_S_LOG_LEVEL) { ONE_S_LL_NONE, ONE_S_LL_FATAL, ONE_S_LL_ERROR, ONE_S_LL_WARN, ONE_S_LL_INFO, ONE_S_LL_DEBUG, ONE_S_LL_VERBOSE diff --git a/iOS_SDK/OneSignal/OneSignal.m b/iOS_SDK/OneSignal/OneSignal.m index 666a4b271..0320b8c5d 100755 --- a/iOS_SDK/OneSignal/OneSignal.m +++ b/iOS_SDK/OneSignal/OneSignal.m @@ -35,8 +35,6 @@ #define DEFAULT_PUSH_HOST @"https://onesignal.com/api/v1/" -NSString* const VERSION = @"011000"; - #define NOTIFICATION_TYPE_BADGE 1 #define NOTIFICATION_TYPE_SOUND 2 #define NOTIFICATION_TYPE_ALERT 4 @@ -62,6 +60,8 @@ @interface OneSignal () @implementation OneSignal +NSString* const ONESIGNAL_VERSION = @"011001"; + @synthesize app_id = _GT_publicKey; @synthesize httpClient = _GT_httpRequest; @synthesize lastMessageReceived; @@ -174,6 +174,7 @@ - (id)initWithLaunchOptions:(NSDictionary*)launchOptions appId:(NSString*)appId else if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerForRemoteNotifications)]) [[UIApplication sharedApplication] registerForRemoteNotifications]; + if (mUserId != nil) [self registerUser]; else // Fall back incase Apple does not responsed in time. @@ -371,7 +372,7 @@ - (void)registerUser { [NSNumber numberWithInt:0], @"device_type", [[[UIDevice currentDevice] identifierForVendor] UUIDString], @"ad_id", [self getSoundFiles], @"sounds", - VERSION, @"sdk", + ONESIGNAL_VERSION, @"sdk", mDeviceToken, @"identifier", // identifier MUST be at the end as it could be nil. nil]; @@ -396,6 +397,8 @@ - (void)registerUser { id asIdManager = [ASIdentifierManagerClass valueForKey:@"sharedManager"]; if ([[asIdManager valueForKey:@"advertisingTrackingEnabled"] isEqual:[NSNumber numberWithInt:1]]) dataDic[@"as_id"] = [[asIdManager valueForKey:@"advertisingIdentifier"] UUIDString]; + else + dataDic[@"as_id"] = @"OptedOut"; } UIApplicationReleaseMode releaseMode = [OneSignalMobileProvision releaseMode]; @@ -770,7 +773,9 @@ - (void) handleNotificationOpened:(NSDictionary*)messageDict isActive:(BOOL)isAc if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateActive && [customDict objectForKey:@"u"] != nil) { NSURL *url = [NSURL URLWithString:[customDict objectForKey:@"u"]]; - [[UIApplication sharedApplication] openURL:url]; + dispatch_async(dispatch_get_main_queue(), ^{ + [[UIApplication sharedApplication] openURL:url]; + }); } self.lastMessageReceived = messageDict; @@ -1144,12 +1149,18 @@ static Class getClassWithProtocolInHierarchy(Class searchClass, Protocol* protoc return searchClass; } + + + + + static void injectSelector(Class newClass, SEL newSel, Class addToClass, SEL makeLikeSel) { Method newMeth = class_getInstanceMethod(newClass, newSel); IMP imp = method_getImplementation(newMeth); const char* methodTypeEncoding = method_getTypeEncoding(newMeth); BOOL successful = class_addMethod(addToClass, makeLikeSel, imp, methodTypeEncoding); + if (!successful) { class_addMethod(addToClass, newSel, imp, methodTypeEncoding); newMeth = class_getInstanceMethod(addToClass, newSel); @@ -1252,6 +1263,7 @@ + (void)load { static Class delegateClass = nil; - (void) setOneSignalDelegate:(id)delegate { + if (delegateClass != nil) { [self setOneSignalDelegate:delegate]; return;