aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Ryan Wilson <wilsonryan@google.com>2018-04-10 13:34:13 -0400
committerGravatar GitHub <noreply@github.com>2018-04-10 13:34:13 -0400
commit23742e81597fc6c17c7ec3636617bac27db15315 (patch)
tree7b255ab21c016acaa4bd79070e18cfd2e6fea733
parent7550b6efe4f3d034a7b38de5f10480ed7fd649b7 (diff)
parent8a06fcb5f99d0a3bd0c7fdc6424e18edbdd367d3 (diff)
Merge pull request #1050 from firebase/core-breaking-changes
Core Breaking API Changes
-rw-r--r--Example/Core/Tests/FIRAppTest.m40
-rw-r--r--Example/Core/Tests/FIROptionsTest.m67
-rw-r--r--Example/Core/Tests/FIRTestCase.m1
-rw-r--r--Firebase/Core/CHANGELOG.md2
-rw-r--r--Firebase/Core/FIRApp.m24
-rw-r--r--Firebase/Core/FIRConfiguration.m6
-rw-r--r--Firebase/Core/FIROptions.m39
-rw-r--r--Firebase/Core/Public/FIRApp.h13
-rw-r--r--Firebase/Core/Public/FIRConfiguration.h28
-rw-r--r--Firebase/Core/Public/FIROptions.h19
-rw-r--r--Firebase/Core/third_party/FIRAppEnvironmentUtil.m7
11 files changed, 27 insertions, 219 deletions
diff --git a/Example/Core/Tests/FIRAppTest.m b/Example/Core/Tests/FIRAppTest.m
index 3784a6e..6825e6a 100644
--- a/Example/Core/Tests/FIRAppTest.m
+++ b/Example/Core/Tests/FIRAppTest.m
@@ -119,21 +119,11 @@ NSString *const kFIRTestAppName2 = @"test-app-name-2";
}
- (void)testConfigureWithCustomizedOptions {
-// valid customized options
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wnonnull"
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID
- bundleID:kBundleID
- GCMSenderID:kGCMSenderID
- APIKey:kCustomizedAPIKey
- clientID:nil
- trackingID:nil
- androidClientID:nil
- databaseURL:nil
- storageBucket:nil
- deepLinkURLScheme:nil];
-#pragma clang diagnostic pop
+ // valid customized options
+ FIROptions *options =
+ [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID GCMSenderID:kGCMSenderID];
+ options.bundleID = kBundleID;
+ options.APIKey = kCustomizedAPIKey;
NSDictionary *expectedUserInfo =
[self expectedUserInfoWithAppName:kFIRDefaultAppName isDefaultApp:YES];
OCMExpect([self.notificationCenterMock postNotificationName:kFIRAppReadyToConfigureSDKNotification
@@ -194,21 +184,11 @@ NSString *const kFIRTestAppName2 = @"test-app-name-2";
XCTAssertTrue([FIRApp allApps].count == 1);
self.app = [FIRApp appNamed:kFIRTestAppName1];
-// Configure a different app with valid customized options
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wnonnull"
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- FIROptions *customizedOptions = [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID
- bundleID:kBundleID
- GCMSenderID:kGCMSenderID
- APIKey:kCustomizedAPIKey
- clientID:nil
- trackingID:nil
- androidClientID:nil
- databaseURL:nil
- storageBucket:nil
- deepLinkURLScheme:nil];
-#pragma clang diagnostic pop
+ // Configure a different app with valid customized options
+ FIROptions *customizedOptions =
+ [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID GCMSenderID:kGCMSenderID];
+ customizedOptions.bundleID = kBundleID;
+ customizedOptions.APIKey = kCustomizedAPIKey;
NSDictionary *expectedUserInfo2 =
[self expectedUserInfoWithAppName:kFIRTestAppName2 isDefaultApp:NO];
diff --git a/Example/Core/Tests/FIROptionsTest.m b/Example/Core/Tests/FIROptionsTest.m
index 5d66ca9..20aec94 100644
--- a/Example/Core/Tests/FIROptionsTest.m
+++ b/Example/Core/Tests/FIROptionsTest.m
@@ -81,51 +81,19 @@ extern NSString *const kFIRLibraryVersionID;
}
- (void)testInitCustomizedOptions {
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID
- bundleID:kBundleID
- GCMSenderID:kGCMSenderID
- APIKey:kAPIKey
- clientID:kClientID
- trackingID:kTrackingID
- androidClientID:(id _Nonnull)nil
- databaseURL:kDatabaseURL
- storageBucket:kStorageBucket
- deepLinkURLScheme:kDeepLinkURLScheme];
-#pragma clang pop
- [self assertOptionsMatchDefaults:options andProjectID:NO];
- XCTAssertEqualObjects(options.deepLinkURLScheme, kDeepLinkURLScheme);
- XCTAssertFalse(options.usingOptionsFromDefaultPlist);
-
- FIROptions *options2 =
+ FIROptions *options =
[[FIROptions alloc] initWithGoogleAppID:kGoogleAppID GCMSenderID:kGCMSenderID];
- options2.APIKey = kAPIKey;
- options2.bundleID = kBundleID;
- options2.clientID = kClientID;
- options2.databaseURL = kDatabaseURL;
- options2.deepLinkURLScheme = kDeepLinkURLScheme;
- options2.projectID = kProjectID;
- options2.storageBucket = kStorageBucket;
- options2.trackingID = kTrackingID;
- [self assertOptionsMatchDefaults:options2 andProjectID:YES];
- XCTAssertEqualObjects(options2.deepLinkURLScheme, kDeepLinkURLScheme);
+ options.APIKey = kAPIKey;
+ options.bundleID = kBundleID;
+ options.clientID = kClientID;
+ options.databaseURL = kDatabaseURL;
+ options.deepLinkURLScheme = kDeepLinkURLScheme;
+ options.projectID = kProjectID;
+ options.storageBucket = kStorageBucket;
+ options.trackingID = kTrackingID;
+ [self assertOptionsMatchDefaults:options andProjectID:YES];
+ XCTAssertEqualObjects(options.deepLinkURLScheme, kDeepLinkURLScheme);
XCTAssertFalse(options.usingOptionsFromDefaultPlist);
-
-// nil GoogleAppID should throw an exception
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wnonnull"
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- XCTAssertThrows([[FIROptions alloc] initWithGoogleAppID:nil
- bundleID:kBundleID
- GCMSenderID:kGCMSenderID
- APIKey:kCustomizedAPIKey
- clientID:nil
- trackingID:nil
- androidClientID:nil
- databaseURL:nil
- storageBucket:nil
- deepLinkURLScheme:nil]);
-#pragma clang diagnostic pop
}
- (void)testInitWithContentsOfFile {
@@ -239,16 +207,9 @@ extern NSString *const kFIRLibraryVersionID;
XCTAssertEqualObjects(newOptions.deepLinkURLScheme, kDeepLinkURLScheme);
// customized options
- FIROptions *customizedOptions = [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID
- bundleID:kBundleID
- GCMSenderID:kGCMSenderID
- APIKey:kAPIKey
- clientID:kClientID
- trackingID:kTrackingID
- androidClientID:(id _Nonnull)nil
- databaseURL:kDatabaseURL
- storageBucket:kStorageBucket
- deepLinkURLScheme:kDeepLinkURLScheme];
+ FIROptions *customizedOptions =
+ [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID GCMSenderID:kGCMSenderID];
+ customizedOptions.deepLinkURLScheme = kDeepLinkURLScheme;
FIROptions *copyCustomizedOptions = [customizedOptions copy];
[copyCustomizedOptions setDeepLinkURLScheme:kNewDeepLinkURLScheme];
XCTAssertEqualObjects(customizedOptions.deepLinkURLScheme, kDeepLinkURLScheme);
diff --git a/Example/Core/Tests/FIRTestCase.m b/Example/Core/Tests/FIRTestCase.m
index b52886b..631075f 100644
--- a/Example/Core/Tests/FIRTestCase.m
+++ b/Example/Core/Tests/FIRTestCase.m
@@ -14,6 +14,7 @@
#import "FIRTestCase.h"
+NSString *const kAndroidClientID = @"correct_android_client_id";
NSString *const kAPIKey = @"correct_api_key";
NSString *const kCustomizedAPIKey = @"customized_api_key";
NSString *const kClientID = @"correct_client_id";
diff --git a/Firebase/Core/CHANGELOG.md b/Firebase/Core/CHANGELOG.md
index 4289cae..f4707ea 100644
--- a/Firebase/Core/CHANGELOG.md
+++ b/Firebase/Core/CHANGELOG.md
@@ -1,4 +1,6 @@
# Unreleased
+- [changed] Removed `UIKit` import from `FIRApp.h`.
+- [changed] Removed deprecated methods.
# 2018-03-06 -- v4.0.16 -- M22
- [changed] Addresses CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF warnings that surface in newer versions of Xcode and CocoaPods.
diff --git a/Firebase/Core/FIRApp.m b/Firebase/Core/FIRApp.m
index c2ce28e..c43db6e 100644
--- a/Firebase/Core/FIRApp.m
+++ b/Firebase/Core/FIRApp.m
@@ -133,23 +133,6 @@ static NSMutableDictionary *sLibraryVersions;
[FIRApp sendNotificationsToSDKs:sDefaultApp];
sDefaultApp.alreadySentConfigureNotification = YES;
}
-
- if (![FIRAppEnvironmentUtil isFromAppStore]) {
- // Support for iOS 7 has been deprecated, but will continue to function for the time being.
- // Log a notice for developers who are still targeting iOS 7 as the minimum OS version
- // supported.
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
- NSDictionary<NSString *, id> *info = [[NSBundle mainBundle] infoDictionary];
-
- NSString *minVersion = info[@"MinimumOSVersion"];
- if ([minVersion hasPrefix:@"7."]) {
- FIRLogNotice(kFIRLoggerCore, @"I-COR000026",
- @"Support for iOS 7 is deprecated and will "
- @"stop working in the future. Please upgrade your app to target iOS 8 or "
- @"above.");
- }
- });
- }
}
}
@@ -315,13 +298,6 @@ static NSMutableDictionary *sLibraryVersions;
return NO;
}
- if (NSClassFromString(@"FIRAppIndexing") != nil) {
- FIRLogDebug(kFIRLoggerCore, @"I-COR000024",
- @"Firebase App Indexing on iOS is deprecated. "
- @"You don't need to take any action at this time. Learn more about Firebase App "
- @"Indexing at https://firebase.google.com/docs/app-indexing/.");
- }
-
// Initialize the Analytics once there is a valid options under default app. Analytics should
// always initialize first by itself before the other SDKs.
if ([self.name isEqualToString:kFIRDefaultAppName]) {
diff --git a/Firebase/Core/FIRConfiguration.m b/Firebase/Core/FIRConfiguration.m
index 02617ef..cd64862 100644
--- a/Firebase/Core/FIRConfiguration.m
+++ b/Firebase/Core/FIRConfiguration.m
@@ -35,12 +35,6 @@ extern void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel);
return self;
}
-// This is deprecated, use setLoggerLevel instead.
-- (void)setLogLevel:(FIRLogLevel)logLevel {
- NSAssert(logLevel <= kFIRLogLevelMax, @"Invalid log level, %ld", (long)logLevel);
- _logLevel = logLevel;
-}
-
- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel {
NSAssert(loggerLevel <= FIRLoggerLevelMax && loggerLevel >= FIRLoggerLevelMin,
@"Invalid logger level, %ld", (long)loggerLevel);
diff --git a/Firebase/Core/FIROptions.m b/Firebase/Core/FIROptions.m
index b53fa52..56a56ff 100644
--- a/Firebase/Core/FIROptions.m
+++ b/Firebase/Core/FIROptions.m
@@ -194,45 +194,6 @@ static NSDictionary *sDefaultOptionsDictionary = nil;
#pragma mark - Public instance methods
-- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
- bundleID:(NSString *)bundleID
- GCMSenderID:(NSString *)GCMSenderID
- APIKey:(NSString *)APIKey
- clientID:(NSString *)clientID
- trackingID:(NSString *)trackingID
- androidClientID:(NSString *)androidClientID
- databaseURL:(NSString *)databaseURL
- storageBucket:(NSString *)storageBucket
- deepLinkURLScheme:(NSString *)deepLinkURLScheme {
- self = [super init];
- if (self) {
- if (!googleAppID) {
- [NSException raise:kFirebaseCoreErrorDomain format:@"Please specify a valid Google App ID."];
- } else if (!GCMSenderID) {
- [NSException raise:kFirebaseCoreErrorDomain format:@"Please specify a valid GCM Sender ID."];
- }
-
- // `bundleID` is a required property, default to the main `bundleIdentifier` if it's `nil`.
- if (!bundleID) {
- bundleID = [[NSBundle mainBundle] bundleIdentifier];
- }
-
- NSMutableDictionary *mutableOptionsDict = [NSMutableDictionary dictionary];
- [mutableOptionsDict setValue:googleAppID forKey:kFIRGoogleAppID];
- [mutableOptionsDict setValue:bundleID forKey:kFIRBundleID];
- [mutableOptionsDict setValue:GCMSenderID forKey:kFIRGCMSenderID];
- [mutableOptionsDict setValue:APIKey forKey:kFIRAPIKey];
- [mutableOptionsDict setValue:clientID forKey:kFIRClientID];
- [mutableOptionsDict setValue:trackingID forKey:kFIRTrackingID];
- [mutableOptionsDict setValue:androidClientID forKey:kFIRAndroidClientID];
- [mutableOptionsDict setValue:databaseURL forKey:kFIRDatabaseURL];
- [mutableOptionsDict setValue:storageBucket forKey:kFIRStorageBucket];
- self.optionsDictionary = mutableOptionsDict;
- self.deepLinkURLScheme = deepLinkURLScheme;
- }
- return self;
-}
-
- (instancetype)initWithContentsOfFile:(NSString *)plistPath {
self = [super init];
if (self) {
diff --git a/Firebase/Core/Public/FIRApp.h b/Firebase/Core/Public/FIRApp.h
index 9610455..fb18b75 100644
--- a/Firebase/Core/Public/FIRApp.h
+++ b/Firebase/Core/Public/FIRApp.h
@@ -16,11 +16,6 @@
#import <Foundation/Foundation.h>
-#if TARGET_OS_IOS
-// TODO: Remove UIKit import on next breaking change release
-#import <UIKit/UIKit.h>
-#endif
-
@class FIROptions;
NS_ASSUME_NONNULL_BEGIN
@@ -90,19 +85,11 @@ NS_SWIFT_NAME(FirebaseApp)
*/
+ (nullable FIRApp *)appNamed:(NSString *)name NS_SWIFT_NAME(app(name:));
-#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
/**
* Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
* method is thread safe.
*/
@property(class, readonly, nullable) NSDictionary<NSString *, FIRApp *> *allApps;
-#else
-/**
- * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
- * method is thread safe.
- */
-+ (nullable NSDictionary<NSString *, FIRApp *> *)allApps NS_SWIFT_NAME(allApps());
-#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
/**
* Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
diff --git a/Firebase/Core/Public/FIRConfiguration.h b/Firebase/Core/Public/FIRConfiguration.h
index 05bd261..95bba5e 100644
--- a/Firebase/Core/Public/FIRConfiguration.h
+++ b/Firebase/Core/Public/FIRConfiguration.h
@@ -19,25 +19,6 @@
#import "FIRAnalyticsConfiguration.h"
#import "FIRLoggerLevel.h"
-/**
- * The log levels used by FIRConfiguration.
- */
-typedef NS_ENUM(NSInteger, FIRLogLevel) {
- /** Error */
- kFIRLogLevelError __deprecated = 0,
- /** Warning */
- kFIRLogLevelWarning __deprecated,
- /** Info */
- kFIRLogLevelInfo __deprecated,
- /** Debug */
- kFIRLogLevelDebug __deprecated,
- /** Assert */
- kFIRLogLevelAssert __deprecated,
- /** Max */
- kFIRLogLevelMax __deprecated = kFIRLogLevelAssert
-} DEPRECATED_MSG_ATTRIBUTE(
- "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details.");
-
NS_ASSUME_NONNULL_BEGIN
/**
@@ -47,21 +28,12 @@ NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(FirebaseConfiguration)
@interface FIRConfiguration : NSObject
-#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
/** Returns the shared configuration object. */
@property(class, nonatomic, readonly) FIRConfiguration *sharedInstance NS_SWIFT_NAME(shared);
-#else
-/** Returns the shared configuration object. */
-+ (FIRConfiguration *)sharedInstance NS_SWIFT_NAME(shared());
-#endif // defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
/** The configuration class for Firebase Analytics. */
@property(nonatomic, readwrite) FIRAnalyticsConfiguration *analyticsConfiguration;
-/** Global log level. Defaults to kFIRLogLevelError. */
-@property(nonatomic, readwrite, assign) FIRLogLevel logLevel DEPRECATED_MSG_ATTRIBUTE(
- "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details.");
-
/**
* Sets the logging level for internal Firebase logging. Firebase will only log messages
* that are logged at or below loggerLevel. The messages are logged both to the Xcode
diff --git a/Firebase/Core/Public/FIROptions.h b/Firebase/Core/Public/FIROptions.h
index b4e3b3b..87a01dd 100644
--- a/Firebase/Core/Public/FIROptions.h
+++ b/Firebase/Core/Public/FIROptions.h
@@ -91,25 +91,6 @@ NS_SWIFT_NAME(FirebaseOptions)
@property(nonatomic, copy, nullable) NSString *storageBucket;
/**
- * Initializes a customized instance of FIROptions with keys. googleAppID, bundleID and GCMSenderID
- * are required. Other keys may required for configuring specific services.
- */
-- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
- bundleID:(NSString *)bundleID
- GCMSenderID:(NSString *)GCMSenderID
- APIKey:(NSString *)APIKey
- clientID:(NSString *)clientID
- trackingID:(NSString *)trackingID
- androidClientID:(NSString *)androidClientID
- databaseURL:(NSString *)databaseURL
- storageBucket:(NSString *)storageBucket
- deepLinkURLScheme:(NSString *)deepLinkURLScheme
- DEPRECATED_MSG_ATTRIBUTE(
- "Use `-[[FIROptions alloc] initWithGoogleAppID:GCMSenderID:]` "
- "(`FirebaseOptions(googleAppID:gcmSenderID:)` in Swift)` and property "
- "setters instead.");
-
-/**
* Initializes a customized instance of FIROptions from the file at the given plist file path. This
* will read the file synchronously from disk.
* For example,
diff --git a/Firebase/Core/third_party/FIRAppEnvironmentUtil.m b/Firebase/Core/third_party/FIRAppEnvironmentUtil.m
index 90e66f0..faee38b 100644
--- a/Firebase/Core/third_party/FIRAppEnvironmentUtil.m
+++ b/Firebase/Core/third_party/FIRAppEnvironmentUtil.m
@@ -13,9 +13,6 @@
// limitations under the License.
#import <Foundation/Foundation.h>
-#if TARGET_OS_IOS || TARGET_OS_TV
-#import <UIKit/UIKit.h>
-#endif
#import "FIRAppEnvironmentUtil.h"
@@ -207,11 +204,7 @@ static BOOL isAppEncrypted() {
}
+ (NSString *)systemVersion {
- #if TARGET_OS_IOS || TARGET_OS_TV
- return [UIDevice currentDevice].systemVersion;
- #elif TARGET_OS_OSX
return [NSProcessInfo processInfo].operatingSystemVersionString;
- #endif
}
+ (BOOL)isAppExtension {