|
12 | 12 |
|
13 | 13 | @implementation ADJAttribution |
14 | 14 |
|
| 15 | ++ (BOOL)supportsSecureCoding { |
| 16 | + return YES; |
| 17 | +} |
| 18 | + |
15 | 19 | - (id)initWithJsonDict:(NSDictionary *)jsonDict { |
16 | 20 | self = [super init]; |
17 | 21 | if (self == nil) { |
@@ -170,18 +174,19 @@ - (id)initWithCoder:(NSCoder *)decoder { |
170 | 174 | return nil; |
171 | 175 | } |
172 | 176 |
|
173 | | - self.trackerToken = [decoder decodeObjectForKey:@"trackerToken"]; |
174 | | - self.trackerName = [decoder decodeObjectForKey:@"trackerName"]; |
175 | | - self.network = [decoder decodeObjectForKey:@"network"]; |
176 | | - self.campaign = [decoder decodeObjectForKey:@"campaign"]; |
177 | | - self.adgroup = [decoder decodeObjectForKey:@"adgroup"]; |
178 | | - self.creative = [decoder decodeObjectForKey:@"creative"]; |
179 | | - self.clickLabel = [decoder decodeObjectForKey:@"click_label"]; |
180 | | - self.costType = [decoder decodeObjectForKey:@"costType"]; |
181 | | - self.costAmount = [decoder decodeObjectForKey:@"costAmount"]; |
182 | | - self.costCurrency = [decoder decodeObjectForKey:@"costCurrency"]; |
183 | | - self.jsonResponse = [decoder decodeObjectForKey:@"jsonResponse"]; |
184 | | - |
| 177 | + self.trackerToken = [decoder decodeObjectOfClass:[NSString class] forKey:@"trackerToken"]; |
| 178 | + self.trackerName = [decoder decodeObjectOfClass:[NSString class] forKey:@"trackerName"]; |
| 179 | + self.network = [decoder decodeObjectOfClass:[NSString class] forKey:@"network"]; |
| 180 | + self.campaign = [decoder decodeObjectOfClass:[NSString class] forKey:@"campaign"]; |
| 181 | + self.adgroup = [decoder decodeObjectOfClass:[NSString class] forKey:@"adgroup"]; |
| 182 | + self.creative = [decoder decodeObjectOfClass:[NSString class] forKey:@"creative"]; |
| 183 | + self.clickLabel = [decoder decodeObjectOfClass:[NSString class] forKey:@"click_label"]; |
| 184 | + self.costType = [decoder decodeObjectOfClass:[NSString class] forKey:@"costType"]; |
| 185 | + self.costAmount = [decoder decodeObjectOfClass:[NSNumber class] forKey:@"costAmount"]; |
| 186 | + self.costCurrency = [decoder decodeObjectOfClass:[NSString class] forKey:@"costCurrency"]; |
| 187 | + NSSet<Class> *allowedClasses = [NSSet setWithObjects:[NSDictionary class], |
| 188 | + [NSString class], [NSNumber class], nil]; |
| 189 | + self.jsonResponse = [decoder decodeObjectOfClasses:allowedClasses forKey:@"jsonResponse"]; |
185 | 190 | return self; |
186 | 191 | } |
187 | 192 |
|
|
0 commit comments