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;