File tree 2 files changed +12
-17
lines changed
FirebaseMessaging/Sources/Token
2 files changed +12
-17
lines changed Original file line number Diff line number Diff line change @@ -176,13 +176,13 @@ - (nullable instancetype)initWithCoder:(NSCoder *)aDecoder {
176
176
// users have upgraded to at least 10.19.0. Perhaps, after privacy manifests have been required
177
177
// for awhile?
178
178
@try {
179
- [NSKeyedUnarchiver setClass: [FIRMessagingAPNSInfo class ]
180
- forClassName: @" FIRInstanceIDAPNSInfo" ];
181
- #pragma clang diagnostic push
182
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
183
- rawAPNSInfo = [NSKeyedUnarchiver unarchiveObjectWithData: (NSData *)rawAPNSInfo];
179
+ NSKeyedUnarchiver *unarchiver =
180
+ [[NSKeyedUnarchiver alloc ] initForReadingFromData: (NSData *)rawAPNSInfo error: nil ];
181
+ unarchiver.requiresSecureCoding = NO ;
182
+ [unarchiver setClass: [FIRMessagingAPNSInfo class ] forClassName: @" FIRInstanceIDAPNSInfo" ];
183
+ rawAPNSInfo = [unarchiver decodeObjectForKey: NSKeyedArchiveRootObjectKey ];
184
+ [unarchiver finishDecoding ];
184
185
needsMigration = YES ;
185
- #pragma clang diagnostic pop
186
186
} @catch (NSException *exception ) {
187
187
FIRMessagingLoggerInfo (kFIRMessagingMessageCodeTokenInfoBadAPNSInfo ,
188
188
@" Could not parse raw APNS Info while parsing archived token info." );
Original file line number Diff line number Diff line change @@ -99,19 +99,14 @@ - (nullable FIRMessagingTokenInfo *)tokenInfoWithAuthorizedEntity:(NSString *)au
99
99
+ (nullable FIRMessagingTokenInfo *)tokenInfoFromKeychainItem : (NSData *)item {
100
100
// Check if it is saved as an archived FIRMessagingTokenInfo, otherwise return nil.
101
101
FIRMessagingTokenInfo *tokenInfo = nil ;
102
- // NOTE: Passing in nil to unarchiveObjectWithData will result in an iOS error logged
103
- // in the console on iOS 10 and below. Avoid by checking item.data's existence.
104
102
if (item) {
105
- // TODO(chliangGoogle: Use the new API and secureCoding protocol.
106
103
@try {
107
- #pragma clang diagnostic push
108
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
109
- [NSKeyedUnarchiver setClass: [FIRMessagingTokenInfo class ]
110
- forClassName: @" FIRInstanceIDTokenInfo" ];
111
- tokenInfo = [NSKeyedUnarchiver unarchiveObjectWithData: item];
112
-
113
- #pragma clang diagnostic pop
114
-
104
+ NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc ] initForReadingFromData: item
105
+ error: nil ];
106
+ unarchiver.requiresSecureCoding = NO ;
107
+ [unarchiver setClass: [FIRMessagingTokenInfo class ] forClassName: @" FIRInstanceIDTokenInfo" ];
108
+ tokenInfo = [unarchiver decodeObjectForKey: NSKeyedArchiveRootObjectKey ];
109
+ [unarchiver finishDecoding ];
115
110
} @catch (NSException *exception ) {
116
111
FIRMessagingLoggerDebug (kFIRMessagingMessageCodeTokenStoreExceptionUnarchivingTokenInfo ,
117
112
@" Unable to parse token info from Keychain item; item was in an "
You can’t perform that action at this time.
0 commit comments