Skip to content

Commit c81982d

Browse files
committed
To create a new string, don't use localizedDescription
* It seems that when creating a new string with stringWithFormat, copying the `localizedDescription` can raise an `NSInvalidArgumentException`. Not reproducible, but reported by users. * This matches other calls to the client where we log the error returned. Example stacktrace: Fatal Exception: NSInvalidArgumentException 0 CoreFoundation 0x... __exceptionPreprocess 1 libobjc.A.dylib 0x... objc_exception_throw 2 CoreFoundation 0x... +[NSObject(NSObject) _copyDescription] 3 CoreFoundation 0x... ___forwarding___ 4 CoreFoundation 0x... _CF_forwarding_prep_0 5 OneSignalInAppMessages 0x... __77-[OSMessagingController attemptFetchWithRetries:rywData:attempts:retryLimit:]_block_invoke.90 + 320 (OSMessagingController.m:320) 6 OneSignalCore 0x... -[OneSignalClient handleJSONNSURLResponse:data:error:isAsync:withRequest:onSuccess:onFailure:] + 214 (OneSignalClient.m:214) 7 OneSignalCore 0x... __54-[OneSignalClient executeRequest:onSuccess:onFailure:]_block_invoke + 110 (OneSignalClient.m:110)
1 parent 701e624 commit c81982d

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Controller/OSMessagingController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ - (void)attemptFetchWithRetries:(NSString *)subscriptionId
318318
onFailure:^(OneSignalClientError *error) {
319319
NSDictionary* responseHeaders = error.responseHeaders;
320320

321-
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"getInAppMessagesFromServer failure: %@", error.underlyingError.localizedDescription]];
321+
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"getInAppMessagesFromServer failure: %@", error.description]];
322322

323323
if (error.code == 425 || error.code == 429) { // 425 Too Early or 429 Too Many Requests
324324
NSInteger retryAfter = [responseHeaders[@"Retry-After"] integerValue] ?: DEFAULT_RETRY_AFTER_SECONDS;
@@ -387,7 +387,7 @@ - (void)fetchInAppMessagesWithoutToken:(NSString *)subscriptionId {
387387
}
388388
});
389389
} onFailure:^(OneSignalClientError *error) {
390-
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"getInAppMessagesFromServer failure: %@", error.underlyingError.localizedDescription]];
390+
[OneSignalLog onesignalLog:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"getInAppMessagesFromServer failure: %@", error.description]];
391391
}];
392392
}
393393

iOS_SDK/OneSignalSDK/OneSignalLiveActivities/Source/OneSignalLiveActivitiesManagerImpl.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public class OneSignalLiveActivitiesManagerImpl: NSObject, OSLiveActivities {
171171
contentState: contentState,
172172
pushType: .token)
173173
} catch let error {
174-
OneSignalLog.onesignalLog(.LL_DEBUG, message: "Cannot start default live activity: " + error.localizedDescription)
174+
OneSignalLog.onesignalLog(.LL_DEBUG, message: "Cannot start default live activity: \(error)")
175175
}
176176
}
177177

0 commit comments

Comments
 (0)