Skip to content

Commit 28fe036

Browse files
remove ios 7 logic as sdk minimum support is iOS 8 now (#5835)
* remove ios 8 related check as our sdk minimum support is iOS 9 now; * update changelog * remove FIRInstanceIDURLQueryItem * move appid to constant class * update changelog * fix clang format and typo in changelog
1 parent ffe2388 commit 28fe036

11 files changed

+51
-153
lines changed

Firebase/InstanceID/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# unreleased
2+
- [changed] Remove FIRInstanceIDURLQueryItem in favor of NSURLQueryItem. (#5835)
13

24
# 2020-07 -- 4.5.0
35
- [changed] Functionally neutral updated import references for dependencies. (#5824)

Firebase/InstanceID/FIRInstanceIDConstants.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ FOUNDATION_EXPORT NSString *const kFIRInstanceIDTokenOptionsFirebaseAppIDKey;
5757
/// The key to enable auto-register by swizzling AppDelegate's methods.
5858
FOUNDATION_EXPORT NSString *const kFIRInstanceIDAppDelegateProxyEnabledInfoPlistKey;
5959

60+
/// The key for InstallationID or InstanceID in token request.
61+
FOUNDATION_EXPORT NSString *const kFIRInstanceIDParamInstanceID;
62+
6063
/// Error code for missing entitlements in Keychain. iOS Keychain error
6164
/// https://forums.developer.apple.com/thread/4743
6265
FOUNDATION_EXPORT const int kFIRInstanceIDSecMissingEntitlementErrorCode;

Firebase/InstanceID/FIRInstanceIDConstants.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
NSString *const kFIRInstanceIDTokenOptionsAPNSKey = @"apns_token";
3737
NSString *const kFIRInstanceIDTokenOptionsAPNSIsSandboxKey = @"apns_sandbox";
3838
NSString *const kFIRInstanceIDTokenOptionsFirebaseAppIDKey = @"gmp_app_id";
39+
NSString *const kFIRInstanceIDParamInstanceID = @"appid";
3940

4041
NSString *const kFIRInstanceIDAppDelegateProxyEnabledInfoPlistKey =
4142
@"FirebaseAppDelegateProxyEnabled";

Firebase/InstanceID/FIRInstanceIDTokenDeleteOperation.m

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
#import "FIRInstanceIDTokenDeleteOperation.h"
1818

1919
#import "FIRInstanceIDCheckinPreferences.h"
20+
#import "FIRInstanceIDConstants.h"
2021
#import "FIRInstanceIDDefines.h"
2122
#import "FIRInstanceIDLogger.h"
2223
#import "FIRInstanceIDTokenOperation+Private.h"
23-
#import "FIRInstanceIDURLQueryItem.h"
2424
#import "FIRInstanceIDUtilities.h"
2525
#import "NSError+FIRInstanceID.h"
2626

@@ -47,24 +47,25 @@ - (void)performTokenOperation {
4747

4848
// Build form-encoded body
4949
NSString *deviceAuthID = self.checkinPreferences.deviceID;
50-
NSMutableArray<FIRInstanceIDURLQueryItem *> *queryItems =
50+
NSMutableArray<NSURLQueryItem *> *queryItems =
5151
[FIRInstanceIDTokenOperation standardQueryItemsWithDeviceID:deviceAuthID scope:self.scope];
52-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"delete" value:@"true"]];
52+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"delete" value:@"true"]];
5353
if (self.action == FIRInstanceIDTokenActionDeleteTokenAndIID) {
54-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"iid-operation"
55-
value:@"delete"]];
54+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"iid-operation" value:@"delete"]];
5655
}
5756
if (self.authorizedEntity) {
58-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"sender"
59-
value:self.authorizedEntity]];
57+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"sender" value:self.authorizedEntity]];
6058
}
6159
// Typically we include our public key-signed url items, but in some cases (like deleting all FCM
6260
// tokens), we don't.
6361
if (self.instanceID.length > 0) {
64-
[queryItems addObjectsFromArray:[self queryItemsWithInstanceID:self.instanceID]];
62+
[queryItems addObject:[NSURLQueryItem queryItemWithName:kFIRInstanceIDParamInstanceID
63+
value:self.instanceID]];
6564
}
6665

67-
NSString *content = FIRInstanceIDQueryFromQueryItems(queryItems);
66+
NSURLComponents *components = [[NSURLComponents alloc] init];
67+
components.queryItems = queryItems;
68+
NSString *content = components.query;
6869
request.HTTPBody = [content dataUsingEncoding:NSUTF8StringEncoding];
6970
FIRInstanceIDLoggerDebug(kFIRInstanceIDMessageCodeTokenDeleteOperationFetchRequest,
7071
@"Unregister request to %@ content: %@", FIRInstanceIDRegisterServer(),

Firebase/InstanceID/FIRInstanceIDTokenFetchOperation.m

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#import "FIRInstanceIDDefines.h"
2222
#import "FIRInstanceIDLogger.h"
2323
#import "FIRInstanceIDTokenOperation+Private.h"
24-
#import "FIRInstanceIDURLQueryItem.h"
2524
#import "FIRInstanceIDUtilities.h"
2625
#import "NSError+FIRInstanceID.h"
2726

@@ -65,15 +64,16 @@ - (void)performTokenOperation {
6564

6665
// Build form-encoded body
6766
NSString *deviceAuthID = self.checkinPreferences.deviceID;
68-
NSMutableArray<FIRInstanceIDURLQueryItem *> *queryItems =
67+
NSMutableArray<NSURLQueryItem *> *queryItems =
6968
[[self class] standardQueryItemsWithDeviceID:deviceAuthID scope:self.scope];
70-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"sender"
71-
value:self.authorizedEntity]];
72-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"X-subtype"
73-
value:self.authorizedEntity]];
74-
75-
[queryItems addObjectsFromArray:[self queryItemsWithInstanceID:self.instanceID]];
69+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"sender" value:self.authorizedEntity]];
70+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"X-subtype"
71+
value:self.authorizedEntity]];
7672

73+
if (self.instanceID.length > 0) {
74+
[queryItems addObject:[NSURLQueryItem queryItemWithName:kFIRInstanceIDParamInstanceID
75+
value:self.instanceID]];
76+
}
7777
// Create query items from passed-in options
7878
id apnsTokenData = self.options[kFIRInstanceIDTokenOptionsAPNSKey];
7979
id apnsSandboxValue = self.options[kFIRInstanceIDTokenOptionsAPNSIsSandboxKey];
@@ -82,21 +82,22 @@ - (void)performTokenOperation {
8282
NSString *APNSString = FIRInstanceIDAPNSTupleStringForTokenAndServerType(
8383
apnsTokenData, ((NSNumber *)apnsSandboxValue).boolValue);
8484
// The name of the query item happens to be the same as the dictionary key
85-
FIRInstanceIDURLQueryItem *item =
86-
[FIRInstanceIDURLQueryItem queryItemWithName:kFIRInstanceIDTokenOptionsAPNSKey
87-
value:APNSString];
85+
NSURLQueryItem *item = [NSURLQueryItem queryItemWithName:kFIRInstanceIDTokenOptionsAPNSKey
86+
value:APNSString];
8887
[queryItems addObject:item];
8988
}
9089
id firebaseAppID = self.options[kFIRInstanceIDTokenOptionsFirebaseAppIDKey];
9190
if ([firebaseAppID isKindOfClass:[NSString class]]) {
9291
// The name of the query item happens to be the same as the dictionary key
93-
FIRInstanceIDURLQueryItem *item =
94-
[FIRInstanceIDURLQueryItem queryItemWithName:kFIRInstanceIDTokenOptionsFirebaseAppIDKey
95-
value:(NSString *)firebaseAppID];
92+
NSURLQueryItem *item =
93+
[NSURLQueryItem queryItemWithName:kFIRInstanceIDTokenOptionsFirebaseAppIDKey
94+
value:(NSString *)firebaseAppID];
9695
[queryItems addObject:item];
9796
}
9897

99-
NSString *content = FIRInstanceIDQueryFromQueryItems(queryItems);
98+
NSURLComponents *components = [[NSURLComponents alloc] init];
99+
components.queryItems = queryItems;
100+
NSString *content = components.query;
100101
request.HTTPBody = [content dataUsingEncoding:NSUTF8StringEncoding];
101102
FIRInstanceIDLoggerDebug(kFIRInstanceIDMessageCodeTokenFetchOperationFetchRequest,
102103
@"Register request to %@ content: %@", FIRInstanceIDRegisterServer(),

Firebase/InstanceID/FIRInstanceIDTokenOperation+Private.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
#import "FIRInstanceIDUtilities.h"
2020

21-
@class FIRInstanceIDURLQueryItem;
22-
2321
NS_ASSUME_NONNULL_BEGIN
2422

2523
@interface FIRInstanceIDTokenOperation (Private)
@@ -42,10 +40,9 @@ NS_ASSUME_NONNULL_BEGIN
4240
instanceID:(NSString *)instanceID;
4341

4442
#pragma mark - Request Construction
45-
+ (NSMutableArray<FIRInstanceIDURLQueryItem *> *)standardQueryItemsWithDeviceID:(NSString *)deviceID
46-
scope:(NSString *)scope;
43+
+ (NSMutableArray<NSURLQueryItem *> *)standardQueryItemsWithDeviceID:(NSString *)deviceID
44+
scope:(NSString *)scope;
4745
- (NSMutableURLRequest *)tokenRequest;
48-
- (NSArray<FIRInstanceIDURLQueryItem *> *)queryItemsWithInstanceID:(NSString *)instanceID;
4946

5047
#pragma mark - HTTP Headers
5148
/**

Firebase/InstanceID/FIRInstanceIDTokenOperation.m

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@
2020

2121
#import "FIRInstanceIDCheckinPreferences.h"
2222
#import "FIRInstanceIDLogger.h"
23-
#import "FIRInstanceIDURLQueryItem.h"
2423
#import "FIRInstanceIDUtilities.h"
2524
#import "NSError+FIRInstanceID.h"
2625

2726
static const NSInteger kFIRInstanceIDPlatformVersionIOS = 2;
2827

29-
static NSString *const kFIRInstanceIDParamInstanceID = @"appid";
3028
// Scope parameter that defines the service using the token
3129
static NSString *const kFIRInstanceIDParamScope = @"X-scope";
3230
// Defines the SDK version
@@ -205,49 +203,42 @@ + (NSMutableURLRequest *)requestWithAuthHeader:(NSString *)authHeaderString
205203
return request;
206204
}
207205

208-
+ (NSMutableArray<FIRInstanceIDURLQueryItem *> *)standardQueryItemsWithDeviceID:(NSString *)deviceID
209-
scope:(NSString *)scope {
210-
NSMutableArray<FIRInstanceIDURLQueryItem *> *queryItems = [NSMutableArray arrayWithCapacity:8];
206+
+ (NSMutableArray<NSURLQueryItem *> *)standardQueryItemsWithDeviceID:(NSString *)deviceID
207+
scope:(NSString *)scope {
208+
NSMutableArray<NSURLQueryItem *> *queryItems = [NSMutableArray arrayWithCapacity:8];
211209

212210
// E.g. X-osv=10.2.1
213211
NSString *systemVersion = FIRInstanceIDOperatingSystemVersion();
214-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"X-osv" value:systemVersion]];
212+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"X-osv" value:systemVersion]];
215213
// E.g. device=
216214
if (deviceID) {
217-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"device" value:deviceID]];
215+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"device" value:deviceID]];
218216
}
219217
// E.g. X-scope=fcm
220218
if (scope) {
221-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:kFIRInstanceIDParamScope
222-
value:scope]];
219+
[queryItems addObject:[NSURLQueryItem queryItemWithName:kFIRInstanceIDParamScope value:scope]];
223220
}
224221
// E.g. plat=2
225222
NSString *platform = [NSString stringWithFormat:@"%ld", (long)kFIRInstanceIDPlatformVersionIOS];
226-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"plat" value:platform]];
223+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"plat" value:platform]];
227224
// E.g. app=com.myapp.foo
228225
NSString *appIdentifier = FIRInstanceIDAppIdentifier();
229-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"app" value:appIdentifier]];
226+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"app" value:appIdentifier]];
230227
// E.g. app_ver=1.5
231228
NSString *appVersion = FIRInstanceIDCurrentAppVersion();
232-
[queryItems addObject:[FIRInstanceIDURLQueryItem queryItemWithName:@"app_ver" value:appVersion]];
229+
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"app_ver" value:appVersion]];
233230
// E.g. X-cliv=fiid-1.2.3
234231
NSString *fcmLibraryVersion =
235232
[NSString stringWithFormat:@"fiid-%@", FIRInstanceIDCurrentGCMVersion()];
236233
if (fcmLibraryVersion.length) {
237-
FIRInstanceIDURLQueryItem *gcmLibVersion =
238-
[FIRInstanceIDURLQueryItem queryItemWithName:kFIRInstanceIDParamFCMLibVersion
239-
value:fcmLibraryVersion];
234+
NSURLQueryItem *gcmLibVersion =
235+
[NSURLQueryItem queryItemWithName:kFIRInstanceIDParamFCMLibVersion value:fcmLibraryVersion];
240236
[queryItems addObject:gcmLibVersion];
241237
}
242238

243239
return queryItems;
244240
}
245241

246-
- (NSArray<FIRInstanceIDURLQueryItem *> *)queryItemsWithInstanceID:(NSString *)instanceID {
247-
return @[ [FIRInstanceIDURLQueryItem queryItemWithName:kFIRInstanceIDParamInstanceID
248-
value:instanceID] ];
249-
}
250-
251242
#pragma mark - HTTP Header
252243

253244
+ (NSString *)HTTPAuthHeaderFromCheckin:(FIRInstanceIDCheckinPreferences *)checkin {

Firebase/InstanceID/FIRInstanceIDURLQueryItem.h

Lines changed: 0 additions & 39 deletions
This file was deleted.

Firebase/InstanceID/FIRInstanceIDURLQueryItem.m

Lines changed: 0 additions & 55 deletions
This file was deleted.

FirebaseMessaging/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# unreleased
2+
- [changed] Remove logic that is executed for iOS 7 and below. (#5835)
3+
14
# 2020-07 -- v4.6.0
25
- [fixed] Fix documentation warning exposed by Xcode 12. (#5876)
36
- [changed] Functionally neutral updated import references for dependencies. (#5824)

0 commit comments

Comments
 (0)