Skip to content

Commit c184c4d

Browse files
committed
Fixed crash when initWithLaunchOptions isn’t called
* Fixes crash with nil request sent to NSURLConnection.sendAsynchronousRequest:queue:completionHandler: * This can happen if OneSignal.m is loaded into memory but initWithLaunchOptions is never called.
1 parent c2ce141 commit c184c4d

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

iOS_SDK/OneSignal/OneSignal.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ + (void)setNotificationDisplayOptions:(NSNumber*)option {
547547

548548
// Special Case: If iOS version < 10 && Option passed is 2, default to inAppAlerts.
549549
NSInteger op = option.integerValue;
550-
if(![OneSignalHelper isiOS10Plus] && OSNotificationDisplayTypeNotification == op)
550+
if (![OneSignalHelper isiOS10Plus] && OSNotificationDisplayTypeNotification == op)
551551
op = OSNotificationDisplayTypeInAppAlert;
552552

553553
[[NSUserDefaults standardUserDefaults] setObject:@(op) forKey:@"ONESIGNAL_ALERT_OPTION"];
@@ -884,6 +884,9 @@ + (void)sendPurchases:(NSArray*)purchases {
884884
// - 2A. iOS 9 - Notification received while app is in focus.
885885
// - 2B. iOS 10 - Notification received/displayed while app is in focus.
886886
+ (void)notificationOpened:(NSDictionary*)messageDict isActive:(BOOL)isActive {
887+
if (!app_id)
888+
return;
889+
887890
onesignal_Log(ONE_S_LL_VERBOSE, @"notificationOpened:isActive called!");
888891

889892
NSDictionary* customDict = [messageDict objectForKey:@"os_data"];

iOS_SDK/OneSignal/UIApplicationDelegate+OneSignal.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ - (void)oneSignalDidRegisterForRemoteNotifications:(UIApplication*)app deviceTok
152152
- (void)oneSignalDidFailRegisterForRemoteNotification:(UIApplication*)app error:(NSError*)err {
153153
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"oneSignalDidFailRegisterForRemoteNotification:error:"];
154154

155-
[OneSignal handleDidFailRegisterForRemoteNotification:err];
155+
if ([OneSignal app_id])
156+
[OneSignal handleDidFailRegisterForRemoteNotification:err];
156157

157158
if ([self respondsToSelector:@selector(oneSignalDidFailRegisterForRemoteNotification:error:)])
158159
[self oneSignalDidFailRegisterForRemoteNotification:app error:err];

iOS_SDK/OneSignal/UNUserNotificationCenter+OneSignal.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ - (void)onesignalUserNotificationCenter:(UNUserNotificationCenter *)center
107107
default: break;
108108
}
109109

110-
[OneSignal notificationOpened:notification.request.content.userInfo isActive:YES];
110+
if ([OneSignal app_id])
111+
[OneSignal notificationOpened:notification.request.content.userInfo isActive:YES];
111112

112113
// Call orginal selector if one was set.
113114
if ([self respondsToSelector:@selector(onesignalUserNotificationCenter:willPresentNotification:withCompletionHandler:)])

0 commit comments

Comments
 (0)