diff --git a/.travis.yml b/.travis.yml index 351bb857649..18b04e2e2e6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -osx_image: xcode9.1 +osx_image: xcode9.2 language: objective-c cache: - bundler @@ -16,7 +16,9 @@ before_install: script: - "! git grep -I ' $'" # Fail on trailing whitespace in non-binary files - ./test.sh - - bundle exec pod lib lint FirebaseCore.podspec + +# TODO fix os_log deprecation warning in FIRLogger to remove --allow-warnings + - bundle exec pod lib lint FirebaseCore.podspec --allow-warnings # TODO - Uncomment subsequent lines once FirebaseCore source repo is in public Specs repo # - bundle exec pod lib lint FirebaseAuth.podspec diff --git a/CMakeLists.txt b/CMakeLists.txt index 52a4376fd8f..edcd611e029 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,5 +40,4 @@ include(external/FirebaseCore) include(external/googletest) include(external/leveldb) -include(external/abseil-cpp) include(external/firestore) diff --git a/Example/Auth/ApiTests/FirebaseAuthApiTests.m b/Example/Auth/ApiTests/FirebaseAuthApiTests.m index ee96bd019e1..741814c20d8 100644 --- a/Example/Auth/ApiTests/FirebaseAuthApiTests.m +++ b/Example/Auth/ApiTests/FirebaseAuthApiTests.m @@ -63,6 +63,12 @@ /** The testing email address for testSignInExistingUserWithEmailAndPassword. */ static NSString *const kExistingTestingEmailToSignIn = @"456@abc.com"; +/** The testing email address for testUpdatingUsersEmail. */ +static NSString *const kNewTestingEmail = @"updatedEmail@abc.com"; + +/** The testing password for testSignInExistingUserWithModifiedEmailAndPassword. */ +static NSString *const kNewTestingPasswordToSignIn = @"password_new"; + /** Error message for invalid custom token sign in. */ NSString *kInvalidTokenErrorMessage = @"The custom token format is incorrect. Please check the documentation."; @@ -75,7 +81,7 @@ */ NSString *kGoogleTestAccountRefreshToken = KGOOGLE_TEST_ACCOUNT_REFRESH_TOKEN; -static NSTimeInterval const kExpectationsTimeout = 30; +static NSTimeInterval const kExpectationsTimeout = 10; #ifdef NO_NETWORK #define SKIP_IF_ON_MOBILE_HARNESS \ @@ -145,6 +151,38 @@ - (void)testCreateAccountWithEmailAndPassword { [self deleteCurrentFirebaseUser]; } +- (void)testUpdatingUsersEmail { + SKIP_IF_ON_MOBILE_HARNESS + FIRAuth *auth = [FIRAuth auth]; + if (!auth) { + XCTFail(@"Could not obtain auth object."); + } + + __block NSError *apiError; + XCTestExpectation *expectation = + [self expectationWithDescription:@"Created account with email and password."]; + [auth createUserWithEmail:kTestingEmailToCreateUser + password:@"password" + completion:^(FIRUser *user, NSError *error) { + apiError = error; + [expectation fulfill]; + }]; + [self waitForExpectationsWithTimeout:kExpectationsTimeout handler:nil]; + expectation = [self expectationWithDescription:@"Created account with email and password."]; + XCTAssertEqualObjects(auth.currentUser.email, kTestingEmailToCreateUser); + XCTAssertNil(apiError); + [auth.currentUser updateEmail:kNewTestingEmail + completion:^(NSError *_Nullable error) { + apiError = error; + [expectation fulfill]; + }]; + [self waitForExpectationsWithTimeout:kExpectationsTimeout handler:nil]; + XCTAssertNil(apiError); + XCTAssertEqualObjects(auth.currentUser.email, kNewTestingEmail); + // Clean up the created Firebase user for future runs. + [self deleteCurrentFirebaseUser]; +} + - (void)testLinkAnonymousAccountToFacebookAccount { FIRAuth *auth = [FIRAuth auth]; if (!auth) { @@ -293,7 +331,6 @@ - (void)testSignInWithValidCustomAuthExpiredToken { XCTAssertNil(auth.currentUser); XCTAssertEqual(apiError.code, FIRAuthErrorCodeInvalidCustomToken); - [NSThread sleepForTimeInterval:3.0]; } - (void)testInMemoryUserAfterSignOut { diff --git a/Example/Auth/App/GoogleService-Info.plist b/Example/Auth/App/GoogleService-Info.plist index 89afffe24ab..3f7547fb48d 100644 --- a/Example/Auth/App/GoogleService-Info.plist +++ b/Example/Auth/App/GoogleService-Info.plist @@ -10,8 +10,6 @@ correct_client_id REVERSED_CLIENT_ID correct_reversed_client_id - ANDROID_CLIENT_ID - correct_android_client_id GOOGLE_APP_ID 1:123:ios:123abc GCM_SENDER_ID diff --git a/Example/Auth/App/tvOS/AppDelegate.h b/Example/Auth/App/tvOS/AppDelegate.h new file mode 100644 index 00000000000..013891c90b6 --- /dev/null +++ b/Example/Auth/App/tvOS/AppDelegate.h @@ -0,0 +1,21 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface AppDelegate : UIResponder + +@property(strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/Auth/App/tvOS/AppDelegate.m b/Example/Auth/App/tvOS/AppDelegate.m new file mode 100644 index 00000000000..3935032ae07 --- /dev/null +++ b/Example/Auth/App/tvOS/AppDelegate.m @@ -0,0 +1,63 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import FirebaseCore; +@import FirebaseAuth; + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + [FIRApp configure]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for + // certain types of temporary interruptions (such as an incoming phone call or SMS message) or + // when the user quits the application and it begins the transition to the background state. Use + // this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. + // Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store + // enough application state information to restore your application to its current state in case + // it is terminated later. If your application supports background execution, this method is + // called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo + // many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If + // the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also + // applicationDidEnterBackground:. +} + +@end diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000000..b03ded127a9 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - App Store.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Example/Auth/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000000..d746a609003 --- /dev/null +++ b/Example/Auth/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Auth/App/tvOS/Info.plist b/Example/Auth/App/tvOS/Info.plist new file mode 100644 index 00000000000..02942a34f3e --- /dev/null +++ b/Example/Auth/App/tvOS/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Example/Auth/App/tvOS/Main.storyboard b/Example/Auth/App/tvOS/Main.storyboard new file mode 100644 index 00000000000..72d5e2239c4 --- /dev/null +++ b/Example/Auth/App/tvOS/Main.storyboard @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Auth/App/tvOS/ViewController.h b/Example/Auth/App/tvOS/ViewController.h new file mode 100644 index 00000000000..b6115b80707 --- /dev/null +++ b/Example/Auth/App/tvOS/ViewController.h @@ -0,0 +1,19 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface ViewController : UIViewController + +@end diff --git a/Example/Auth/App/tvOS/ViewController.m b/Example/Auth/App/tvOS/ViewController.m new file mode 100644 index 00000000000..6d4676baae6 --- /dev/null +++ b/Example/Auth/App/tvOS/ViewController.m @@ -0,0 +1,33 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Example/Auth/App/tvOS/main.m b/Example/Auth/App/tvOS/main.m new file mode 100644 index 00000000000..d9e66544531 --- /dev/null +++ b/Example/Auth/App/tvOS/main.m @@ -0,0 +1,22 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Example/Core/App/GoogleService-Info.plist b/Example/Core/App/GoogleService-Info.plist index 89afffe24ab..3f7547fb48d 100644 --- a/Example/Core/App/GoogleService-Info.plist +++ b/Example/Core/App/GoogleService-Info.plist @@ -10,8 +10,6 @@ correct_client_id REVERSED_CLIENT_ID correct_reversed_client_id - ANDROID_CLIENT_ID - correct_android_client_id GOOGLE_APP_ID 1:123:ios:123abc GCM_SENDER_ID diff --git a/Example/Core/App/tvOS/AppDelegate.h b/Example/Core/App/tvOS/AppDelegate.h new file mode 100644 index 00000000000..013891c90b6 --- /dev/null +++ b/Example/Core/App/tvOS/AppDelegate.h @@ -0,0 +1,21 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface AppDelegate : UIResponder + +@property(strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/Core/App/tvOS/AppDelegate.m b/Example/Core/App/tvOS/AppDelegate.m new file mode 100644 index 00000000000..9717ad425ac --- /dev/null +++ b/Example/Core/App/tvOS/AppDelegate.m @@ -0,0 +1,62 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import FirebaseCore; + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + [FIRApp configure]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for + // certain types of temporary interruptions (such as an incoming phone call or SMS message) or + // when the user quits the application and it begins the transition to the background state. Use + // this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. + // Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store + // enough application state information to restore your application to its current state in case + // it is terminated later. If your application supports background execution, this method is + // called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo + // many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If + // the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also + // applicationDidEnterBackground:. +} + +@end diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000000..b03ded127a9 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - App Store.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Example/Core/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000000..d746a609003 --- /dev/null +++ b/Example/Core/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Core/App/tvOS/Info.plist b/Example/Core/App/tvOS/Info.plist new file mode 100644 index 00000000000..02942a34f3e --- /dev/null +++ b/Example/Core/App/tvOS/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Example/Core/App/tvOS/Main.storyboard b/Example/Core/App/tvOS/Main.storyboard new file mode 100644 index 00000000000..72d5e2239c4 --- /dev/null +++ b/Example/Core/App/tvOS/Main.storyboard @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Core/App/tvOS/ViewController.h b/Example/Core/App/tvOS/ViewController.h new file mode 100644 index 00000000000..b6115b80707 --- /dev/null +++ b/Example/Core/App/tvOS/ViewController.h @@ -0,0 +1,19 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface ViewController : UIViewController + +@end diff --git a/Example/Core/App/tvOS/ViewController.m b/Example/Core/App/tvOS/ViewController.m new file mode 100644 index 00000000000..6d4676baae6 --- /dev/null +++ b/Example/Core/App/tvOS/ViewController.m @@ -0,0 +1,33 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Example/Core/App/tvOS/main.m b/Example/Core/App/tvOS/main.m new file mode 100644 index 00000000000..d9e66544531 --- /dev/null +++ b/Example/Core/App/tvOS/main.m @@ -0,0 +1,22 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Example/Core/Tests/FIROptionsTest.m b/Example/Core/Tests/FIROptionsTest.m index 2ebad154990..d27a0e1eabb 100644 --- a/Example/Core/Tests/FIROptionsTest.m +++ b/Example/Core/Tests/FIROptionsTest.m @@ -87,7 +87,7 @@ - (void)testInitCustomizedOptions { APIKey:kAPIKey clientID:kClientID trackingID:kTrackingID - androidClientID:kAndroidClientID + androidClientID:(id _Nonnull)nil databaseURL:kDatabaseURL storageBucket:kStorageBucket deepLinkURLScheme:kDeepLinkURLScheme]; @@ -98,7 +98,6 @@ - (void)testInitCustomizedOptions { FIROptions *options2 = [[FIROptions alloc] initWithGoogleAppID:kGoogleAppID GCMSenderID:kGCMSenderID]; - options2.androidClientID = kAndroidClientID; options2.APIKey = kAPIKey; options2.bundleID = kBundleID; options2.clientID = kClientID; @@ -152,7 +151,7 @@ - (void)assertOptionsMatchDefaults:(FIROptions *)options andProjectID:(BOOL)matc XCTAssertEqualObjects(options.clientID, kClientID); XCTAssertEqualObjects(options.trackingID, kTrackingID); XCTAssertEqualObjects(options.GCMSenderID, kGCMSenderID); - XCTAssertEqualObjects(options.androidClientID, kAndroidClientID); + XCTAssertNil(options.androidClientID); XCTAssertEqualObjects(options.libraryVersionID, kFIRLibraryVersionID); XCTAssertEqualObjects(options.databaseURL, kDatabaseURL); XCTAssertEqualObjects(options.storageBucket, kStorageBucket); @@ -245,7 +244,7 @@ - (void)testCopyWithZone { APIKey:kAPIKey clientID:kClientID trackingID:kTrackingID - androidClientID:kAndroidClientID + androidClientID:(id _Nonnull)nil databaseURL:kDatabaseURL storageBucket:kStorageBucket deepLinkURLScheme:kDeepLinkURLScheme]; diff --git a/Example/Core/Tests/FIRTestCase.m b/Example/Core/Tests/FIRTestCase.m index 2c68b8dde5f..b52886b23f2 100644 --- a/Example/Core/Tests/FIRTestCase.m +++ b/Example/Core/Tests/FIRTestCase.m @@ -19,7 +19,6 @@ NSString *const kClientID = @"correct_client_id"; NSString *const kTrackingID = @"correct_tracking_id"; NSString *const kGCMSenderID = @"correct_gcm_sender_id"; -NSString *const kAndroidClientID = @"correct_android_client_id"; NSString *const kGoogleAppID = @"1:123:ios:123abc"; NSString *const kDatabaseURL = @"https://abc-xyz-123.firebaseio.com"; NSString *const kStorageBucket = @"project-id-123.storage.firebase.com"; diff --git a/Example/Database/App/GoogleService-Info.plist b/Example/Database/App/GoogleService-Info.plist index 89afffe24ab..3f7547fb48d 100644 --- a/Example/Database/App/GoogleService-Info.plist +++ b/Example/Database/App/GoogleService-Info.plist @@ -10,8 +10,6 @@ correct_client_id REVERSED_CLIENT_ID correct_reversed_client_id - ANDROID_CLIENT_ID - correct_android_client_id GOOGLE_APP_ID 1:123:ios:123abc GCM_SENDER_ID diff --git a/Example/Database/App/tvOS/AppDelegate.h b/Example/Database/App/tvOS/AppDelegate.h new file mode 100644 index 00000000000..013891c90b6 --- /dev/null +++ b/Example/Database/App/tvOS/AppDelegate.h @@ -0,0 +1,21 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface AppDelegate : UIResponder + +@property(strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/Database/App/tvOS/AppDelegate.m b/Example/Database/App/tvOS/AppDelegate.m new file mode 100644 index 00000000000..2e4e32ff812 --- /dev/null +++ b/Example/Database/App/tvOS/AppDelegate.m @@ -0,0 +1,59 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for + // certain types of temporary interruptions (such as an incoming phone call or SMS message) or + // when the user quits the application and it begins the transition to the background state. Use + // this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. + // Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store + // enough application state information to restore your application to its current state in case + // it is terminated later. If your application supports background execution, this method is + // called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo + // many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If + // the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also + // applicationDidEnterBackground:. +} + +@end diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000000..b03ded127a9 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - App Store.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Example/Database/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000000..d746a609003 --- /dev/null +++ b/Example/Database/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Database/App/tvOS/Info.plist b/Example/Database/App/tvOS/Info.plist new file mode 100644 index 00000000000..02942a34f3e --- /dev/null +++ b/Example/Database/App/tvOS/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Example/Database/App/tvOS/Main.storyboard b/Example/Database/App/tvOS/Main.storyboard new file mode 100644 index 00000000000..72d5e2239c4 --- /dev/null +++ b/Example/Database/App/tvOS/Main.storyboard @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Database/App/tvOS/ViewController.h b/Example/Database/App/tvOS/ViewController.h new file mode 100644 index 00000000000..b6115b80707 --- /dev/null +++ b/Example/Database/App/tvOS/ViewController.h @@ -0,0 +1,19 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface ViewController : UIViewController + +@end diff --git a/Example/Database/App/tvOS/ViewController.m b/Example/Database/App/tvOS/ViewController.m new file mode 100644 index 00000000000..6d4676baae6 --- /dev/null +++ b/Example/Database/App/tvOS/ViewController.m @@ -0,0 +1,33 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Example/Database/App/tvOS/main.m b/Example/Database/App/tvOS/main.m new file mode 100644 index 00000000000..d9e66544531 --- /dev/null +++ b/Example/Database/App/tvOS/main.m @@ -0,0 +1,22 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Example/Firebase.xcodeproj/project.pbxproj b/Example/Firebase.xcodeproj/project.pbxproj index 489c5880cbd..9431ae0ff23 100644 --- a/Example/Firebase.xcodeproj/project.pbxproj +++ b/Example/Firebase.xcodeproj/project.pbxproj @@ -49,10 +49,22 @@ name = AllUnitTests_iOS; productName = AllTests; }; + DE545C7F1FBCA3F000C637AE /* AllUnitTests_tvOS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = DE545C821FBCA3F000C637AE /* Build configuration list for PBXAggregateTarget "AllUnitTests_tvOS" */; + buildPhases = ( + ); + dependencies = ( + DE545C881FBCA43200C637AE /* PBXTargetDependency */, + DE545C861FBCA42C00C637AE /* PBXTargetDependency */, + DE545C841FBCA41C00C637AE /* PBXTargetDependency */, + ); + name = AllUnitTests_tvOS; + productName = AllUnitTests_tvOS; + }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 01E863BD40D23087B77F2F03 /* Pods_Storage_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8E6527440C118AC7C21D504 /* Pods_Storage_Tests_iOS.framework */; }; 0624F3EB1EC0ED0800E5940D /* FConnectionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB46F1EBA7AEF00038A59 /* FConnectionTest.m */; }; 0624F3EC1EC0ED1B00E5940D /* FData.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4711EBA7AEF00038A59 /* FData.m */; }; 0624F3ED1EC0ED2300E5940D /* FDotInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4731EBA7AEF00038A59 /* FDotInfo.m */; }; @@ -79,7 +91,6 @@ 0637BA711EC0F9DD00CAEFD4 /* FTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D891E8EF202009EB6DF /* FTestHelpers.m */; }; 0637BA721EC0F9E000CAEFD4 /* FTupleEventTypeString.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D8B1E8EF203009EB6DF /* FTupleEventTypeString.m */; }; 0637BA731EC0F9E400CAEFD4 /* SenTest+FWaiter.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D8D1E8EF203009EB6DF /* SenTest+FWaiter.m */; }; - 063825B4D58274CB24B25FF1 /* Pods_Storage_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F27F07800D6FD739BD094D3 /* Pods_Storage_Example_macOS.framework */; }; 063CB4A71EBA7B0B00038A59 /* FCompoundWriteTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB46E1EBA7AEF00038A59 /* FCompoundWriteTest.m */; }; 063CB4BE1EBA7B3100038A59 /* FIRDataSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB47B1EBA7AEF00038A59 /* FIRDataSnapshotTests.m */; }; 063CB4BF1EBA7B3100038A59 /* FIRFakeApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB47E1EBA7AEF00038A59 /* FIRFakeApp.m */; }; @@ -105,30 +116,30 @@ 0672F2F31EBBA7D900818E87 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0672F2F11EBBA7D900818E87 /* GoogleService-Info.plist */; }; 069428831EC3B38C00F7BC69 /* 1mb.dat in Resources */ = {isa = PBXBuildFile; fileRef = 069428801EC3B35A00F7BC69 /* 1mb.dat */; }; 06C24A061EC39BCB005208CA /* FIRStorageIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 06121ECA1EC39A0B0008D70E /* FIRStorageIntegrationTests.m */; }; - 0C1D425E4DA4FBFD5A08B985 /* Pods_Auth_Sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D837E35351C0B844EA64B959 /* Pods_Auth_Sample.framework */; }; - 1A509E710C83B6D0A6CD286D /* Pods_Core_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68657030253DE5895E124F45 /* Pods_Core_Example_iOS.framework */; }; - 29136BCA0AD59481B07CFBB0 /* Pods_Core_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86062A14985F49A3B99614A7 /* Pods_Core_Tests_macOS.framework */; }; - 2C8B39CFF9898AE4B29AD114 /* Pods_Auth_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1015568683E2DFCC2719C754 /* Pods_Auth_Tests_macOS.framework */; }; - 2ECC6F80E47D2646FA82B940 /* Pods_Messaging_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CCB3CEB7BF2E4994FBDB2E7 /* Pods_Messaging_Tests_iOS.framework */; }; - 431EBDD6071EF1AE6F6DBE5F /* Pods_Core_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C51650773603D9F827CB3F /* Pods_Core_Example_macOS.framework */; }; - 5207C8D12B9830DADB85FE67 /* Pods_Auth_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ABC4448E5917769098A4EEF /* Pods_Auth_Tests_iOS.framework */; }; - 529BBEFBB6D7A3653B6B3874 /* Pods_Storage_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 910D7A5DE7D5AF153328D243 /* Pods_Storage_Tests_macOS.framework */; }; - 53C9FD19788281F65D537548 /* Pods_Analytics_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29606A0F0B0782779D4E73A1 /* Pods_Analytics_Tests_iOS.framework */; }; - 6232ED3272E9C78C2A0E127F /* Pods_Storage_IntegrationTests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 979DF124E3D1146A81188F78 /* Pods_Storage_IntegrationTests_iOS.framework */; }; - 67EA2F675D33B39CEB0D41B1 /* Pods_Auth_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4373FD322206E44A7CADC2A8 /* Pods_Auth_Example_iOS.framework */; }; - 6ADAC4BEBCE37253D2D7A50F /* Pods_Database_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4852BF989C85671F5D7EBD2A /* Pods_Database_Tests_iOS.framework */; }; - 6D6FA69218AB107C266E1B70 /* Pods_Auth_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F7A35264721D3C8D9F96F91C /* Pods_Auth_Example_macOS.framework */; }; - 7CA435AB1A753CC9EEDFA648 /* Pods_Database_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE9C3D75207E5D1DC70BB364 /* Pods_Database_Tests_macOS.framework */; }; + 0DADD37DFD4D9DC368B72DF8 /* Pods_Auth_ApiTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 33C0463B7313FC8E23E5DAAD /* Pods_Auth_ApiTests.framework */; }; + 2046226C96706813FEE60FAA /* Pods_Core_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9BD713FA8E0DDA1C631EFA7 /* Pods_Core_Example_tvOS.framework */; }; + 284F39A3FED7FC1457A20DA3 /* Pods_Core_Tests_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 092A0E9B0100EB5D1592AD68 /* Pods_Core_Tests_tvOS.framework */; }; + 2C61352BC0FA096866E11A13 /* Pods_Storage_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5656210C04D3CE12EDEC3A00 /* Pods_Storage_Example_macOS.framework */; }; + 2EE6D7190CA87B2514217B5F /* Pods_Analytics_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48EC844B9B5B226AB409C04D /* Pods_Analytics_Tests_iOS.framework */; }; + 2FFD1B3D1BD1A79B3EBCE10B /* Pods_Database_IntegrationTests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2FFB14744FBF59F4E89FE0F /* Pods_Database_IntegrationTests_macOS.framework */; }; + 305C6268DB5BF4653F4843D6 /* Pods_Auth_SwiftSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0B3F6C29D6072C4CD9665AD /* Pods_Auth_SwiftSample.framework */; }; + 37CFACAA408191867DE00FEA /* Pods_Core_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48B19F642ED7795BE8C61702 /* Pods_Core_Tests_macOS.framework */; }; + 451B83DCCB85173A0B5E15FB /* Pods_Database_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84EC7975F05977AE75E90A12 /* Pods_Database_Example_macOS.framework */; }; + 465CC1E7162634883C399206 /* Pods_Storage_IntegrationTests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D89F11E328D414F78B66B2F2 /* Pods_Storage_IntegrationTests_iOS.framework */; }; + 6462518AA418BF979F7ECD04 /* Pods_Messaging_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 984080F16FA41AF3AA9AD8C2 /* Pods_Messaging_Example_iOS.framework */; }; + 66F5D2993433940E43128EFF /* Pods_Core_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6CD25911724B592A3988A50 /* Pods_Core_Tests_iOS.framework */; }; + 7251EC9D9AA2AF1C7C6FFA27 /* Pods_Auth_Tests_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20AE8AA8E8EB8E0BEF84F161 /* Pods_Auth_Tests_tvOS.framework */; }; + 77E3EE8071524513EE52506F /* Pods_Storage_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F9D3351687EF7767B507F0E /* Pods_Storage_Tests_iOS.framework */; }; + 77FC21C5B8BB3E10497C9893 /* Pods_Storage_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EBC238B93690B48A560707ED /* Pods_Storage_Example_tvOS.framework */; }; + 7B6F7B081BE6A56CF0AE20F5 /* Pods_Storage_Tests_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B4F4F14C797493D606A23A8 /* Pods_Storage_Tests_tvOS.framework */; }; + 7E26CF28514D041D284F00A5 /* Pods_Database_Tests_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318F3AE32EEBCC9FF608813 /* Pods_Database_Tests_tvOS.framework */; }; + 7E5BD38D202BFB8CD9CCEB53 /* Pods_Auth_EarlGreyTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FAA82401DA4259800B142EA /* Pods_Auth_EarlGreyTests.framework */; }; 7E9485421F578AC4005A3939 /* FIRAuthURLPresenterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E94853F1F578A9D005A3939 /* FIRAuthURLPresenterTests.m */; }; 7EFA2E041F71C93300DD354F /* FIRUserMetadataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EFA2E031F71C93300DD354F /* FIRUserMetadataTests.m */; }; - 825BE4C9299DAB7EFEB19B65 /* Pods_Database_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66544F771D53687DD73F8BE8 /* Pods_Database_Example_iOS.framework */; }; - 8313C96352C6C77D481B5937 /* Pods_Messaging_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B0C1478ED7269FF2107F5B6F /* Pods_Messaging_Example_iOS.framework */; }; - 8FC590E7FF7C561991DC9DD6 /* Pods_Auth_ApiTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93491C87A390AB737849677E /* Pods_Auth_ApiTests.framework */; }; - 91BECF25F64620DEDF99A106 /* Pods_Storage_IntegrationTests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A28B39B3D707677EF59C110 /* Pods_Storage_IntegrationTests_macOS.framework */; }; - 930570CF84207AEB98440760 /* Pods_Auth_SwiftSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B0C52364C5FCE5D3FBAEAF83 /* Pods_Auth_SwiftSample.framework */; }; - 9CD1CAC2BC2C39B755F7BF88 /* Pods_Storage_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3742438A60FCFAAF24CDE751 /* Pods_Storage_Example_iOS.framework */; }; - A553FD534066F62EE74F2D51 /* Pods_Database_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CF25C495716B3441849720B /* Pods_Database_Example_macOS.framework */; }; - ABA730C3E77B260C564C288A /* Pods_Core_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B9B568851BEE22B7FCB61FB /* Pods_Core_Tests_iOS.framework */; }; + 7F41B0EFBDDA90CB9CE6CE5B /* Pods_Database_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61377AC9FE132A8D7BF71881 /* Pods_Database_Tests_macOS.framework */; }; + 822CE316AE9827F7F0889B30 /* Pods_Auth_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9878B57CF73D2F865992E6EA /* Pods_Auth_Example_macOS.framework */; }; + 91A0BCD9A296439CB7E7843C /* Pods_Core_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA298A99D536B60732EBCB7D /* Pods_Core_Example_macOS.framework */; }; + A3C94871F590440BE6DDEBDB /* Pods_Database_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 483A1D5066DE4B7EF0B8BF52 /* Pods_Database_Example_tvOS.framework */; }; AFAF36F51EC28C25004BDEE5 /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; AFAF36F61EC28C25004BDEE5 /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; AFAF36F71EC28C25004BDEE5 /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; @@ -141,7 +152,12 @@ AFD5630F1EB1402300EA2233 /* MessagingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFD563011EB13DF200EA2233 /* MessagingViewController.swift */; }; AFD563151EB29EDE00EA2233 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = AFD563131EB1466100EA2233 /* GoogleService-Info.plist */; }; AFD563171EBBEF7B00EA2233 /* Data+MessagingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFD563161EBBEF7B00EA2233 /* Data+MessagingExtensions.swift */; }; - CD4DB22A28941C5FEE70686A /* Pods_Auth_EarlGreyTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BDE126A5F0AFCA9956A4C5D9 /* Pods_Auth_EarlGreyTests.framework */; }; + B1FF92C04BA1E704C11B0467 /* Pods_Auth_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4384273DF1B662E4CE522BAF /* Pods_Auth_Example_tvOS.framework */; }; + BB2055D8C835CBDABB419B1C /* Pods_Storage_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFCD819598D37C1AD6F7D601 /* Pods_Storage_Example_iOS.framework */; }; + BBFDB50D4B4632DF9A32B305 /* Pods_Core_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94427D25FE9C3A26EF1A8ABE /* Pods_Core_Example_iOS.framework */; }; + BD84035FA14A8647DCB7AEE7 /* Pods_Database_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2CCF6BD7264693FD98E10850 /* Pods_Database_Tests_iOS.framework */; }; + C344068A9C3B2487279AB0BC /* Pods_Auth_Sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1ACEE1E8A4E9B9D4455A09AB /* Pods_Auth_Sample.framework */; }; + C521E0D6D9027DB7B2254B19 /* Pods_Storage_IntegrationTests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 249A92EF1ADB4E2186F9F788 /* Pods_Storage_IntegrationTests_macOS.framework */; }; D018534D1EDACED4003A645C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D01853491EDACED4003A645C /* LaunchScreen.storyboard */; }; D018534E1EDACED4003A645C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D018534B1EDACED4003A645C /* Main.storyboard */; }; D01853721EDAD084003A645C /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; @@ -199,6 +215,13 @@ D064E6B51ED9B31C001956DF /* FIRTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D7C1E844677006FA992 /* FIRTestCase.m */; }; D067EF831ED9BDE00095C27F /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; D067EF841ED9BDFF0095C27F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DEE14D711E844677006FA992 /* GoogleService-Info.plist */; }; + D09005311EDB32D600154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D09005331EDB32F100154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D09005351EDB330E00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D09005371EDB331C00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D09005391EDB333A00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D090053B1EDB334400154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; + D090053D1EDB334D00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */; settings = {ATTRIBUTES = (); }; }; D0EDB2C51EDA04F800B6C31B /* Shared.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */; }; D0EDB2D71EDA057800B6C31B /* FIRAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D0EDB2D21EDA056A00B6C31B /* FIRAppDelegate.m */; }; D0EDB2D81EDA057800B6C31B /* FIRViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0EDB2D41EDA056A00B6C31B /* FIRViewController.m */; }; @@ -284,15 +307,29 @@ D0FE8A941ED9CAAE003F6722 /* FIRAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FE8A1A1ED9C6D2003F6722 /* FIRAppDelegate.m */; }; D0FE8A951ED9CAAE003F6722 /* FIRViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FE8A1C1ED9C6D2003F6722 /* FIRViewController.m */; }; D0FE8A961ED9CAAE003F6722 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FE8A1D1ED9C6D2003F6722 /* main.m */; }; + D5DA1D0CD1B4A2D08B5296D6 /* Pods_Database_IntegrationTests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1113F1AFA1EFE58780FE9294 /* Pods_Database_IntegrationTests_iOS.framework */; }; + D8C9C50E6CF043E74755973F /* Pods_Storage_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A635330E6EB5E285D878626B /* Pods_Storage_Tests_macOS.framework */; }; D9B0D41E1F578F6D00A567C2 /* FIRGetProjectConfigRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C61F578DF000D5EAFF /* FIRGetProjectConfigRequestTests.m */; }; D9B0D41F1F578F6E00A567C2 /* FIRGetProjectConfigRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C61F578DF000D5EAFF /* FIRGetProjectConfigRequestTests.m */; }; D9B0D4201F578F7200A567C2 /* FIRGetProjectConfigResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C51F578DF000D5EAFF /* FIRGetProjectConfigResponseTests.m */; }; D9B0D4211F578F7300A567C2 /* FIRGetProjectConfigResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C51F578DF000D5EAFF /* FIRGetProjectConfigResponseTests.m */; }; - DA464BCB6574F7FE299CB48D /* Pods_Database_IntegrationTests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFC35EAB61A983056BE25D28 /* Pods_Database_IntegrationTests_iOS.framework */; }; + DDAA23BBAF5FA178E01D89B6 /* Pods_Database_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F2C1255ABA57AFDFD587103 /* Pods_Database_Example_iOS.framework */; }; DE0E5BBB1EA7D92E00FAA825 /* FIRVerifyClientRequestTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0E5BB91EA7D92E00FAA825 /* FIRVerifyClientRequestTest.m */; }; DE0E5BBC1EA7D92E00FAA825 /* FIRVerifyClientResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0E5BBA1EA7D92E00FAA825 /* FIRVerifyClientResponseTests.m */; }; DE0E5BBD1EA7D93100FAA825 /* FIRAuthAppCredentialTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0E5BB51EA7D91C00FAA825 /* FIRAuthAppCredentialTests.m */; }; DE0E5BBE1EA7D93500FAA825 /* FIRAuthAppDelegateProxyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0E5BB61EA7D91C00FAA825 /* FIRAuthAppDelegateProxyTests.m */; }; + DE1EC2921FBA5EB5007D18D8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1EC28B1FBA5EB5007D18D8 /* AppDelegate.m */; }; + DE1EC2931FBA5EB5007D18D8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DE1EC28C1FBA5EB5007D18D8 /* Assets.xcassets */; }; + DE1EC2951FBA5EB5007D18D8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1EC28E1FBA5EB5007D18D8 /* main.m */; }; + DE1EC2961FBA5EB5007D18D8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE1EC28F1FBA5EB5007D18D8 /* Main.storyboard */; }; + DE1EC2971FBA5EB5007D18D8 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1EC2911FBA5EB5007D18D8 /* ViewController.m */; }; + DE1FAEB11FBCF60D00897AAA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE53894D1FBB635400199FC2 /* AppDelegate.m */; }; + DE1FAEB21FBCF60D00897AAA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5389501FBB635400199FC2 /* main.m */; }; + DE1FAEB31FBCF60D00897AAA /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5389531FBB635400199FC2 /* ViewController.m */; }; + DE1FAEB41FBCF60D00897AAA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DE53894F1FBB635400199FC2 /* Info.plist */; }; + DE1FAEB51FBCF60D00897AAA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE5389511FBB635400199FC2 /* Main.storyboard */; }; + DE1FAEB61FBCF60D00897AAA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DE53894E1FBB635400199FC2 /* Assets.xcassets */; }; + DE1FAEB71FBCF6CA00897AAA /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DE9314F61E86C6FF0083EDBF /* GoogleService-Info.plist */; }; DE26D20E1F70333E004AE1D3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DE26D1DA1F70333E004AE1D3 /* Localizable.strings */; }; DE26D2131F70333E004AE1D3 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DE26D1E41F70333E004AE1D3 /* Images.xcassets */; }; DE26D2441F7039BC004AE1D3 /* ApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE26D1D01F70333E004AE1D3 /* ApplicationDelegate.m */; }; @@ -346,6 +383,40 @@ DE7B8DCC1E8EF23A009EB6DF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D371E8EF202009EB6DF /* main.m */; }; DE7B8DD01E8EF246009EB6DF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE7B8D2C1E8EF202009EB6DF /* LaunchScreen.storyboard */; }; DE7B8DD11E8EF24F009EB6DF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE7B8D2E1E8EF202009EB6DF /* Main.storyboard */; }; + DE9037291FBA5F2400E239D3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0672F2F11EBBA7D900818E87 /* GoogleService-Info.plist */; }; + DE90372A1FBA5F8F00E239D3 /* FArraySortedDictionaryTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4471EBA7AE200038A59 /* FArraySortedDictionaryTest.m */; }; + DE90372B1FBA5F8F00E239D3 /* FCompoundHashTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4481EBA7AE200038A59 /* FCompoundHashTest.m */; }; + DE90372C1FBA5F8F00E239D3 /* FCompoundWriteTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB46E1EBA7AEF00038A59 /* FCompoundWriteTest.m */; }; + DE90372D1FBA5F8F00E239D3 /* FIRDataSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB47B1EBA7AEF00038A59 /* FIRDataSnapshotTests.m */; }; + DE90372E1FBA5F8F00E239D3 /* FIRMutableDataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB44A1EBA7AE200038A59 /* FIRMutableDataTests.m */; }; + DE90372F1FBA5F8F00E239D3 /* FLevelDBStorageEngineTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB44B1EBA7AE200038A59 /* FLevelDBStorageEngineTests.m */; }; + DE9037301FBA5F8F00E239D3 /* FNodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB44C1EBA7AE200038A59 /* FNodeTests.m */; }; + DE9037311FBA5F8F00E239D3 /* FPathTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB44E1EBA7AE200038A59 /* FPathTests.m */; }; + DE9037321FBA5F8F00E239D3 /* FPersistenceManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB44F1EBA7AE200038A59 /* FPersistenceManagerTest.m */; }; + DE9037331FBA5F8F00E239D3 /* FPruneForestTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4501EBA7AE200038A59 /* FPruneForestTest.m */; }; + DE9037341FBA5F8F00E239D3 /* FPruningTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4511EBA7AE200038A59 /* FPruningTest.m */; }; + DE9037351FBA5F8F00E239D3 /* FQueryParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4521EBA7AE200038A59 /* FQueryParamsTest.m */; }; + DE9037361FBA5F8F00E239D3 /* FRangeMergeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4531EBA7AE200038A59 /* FRangeMergeTest.m */; }; + DE9037371FBA5F8F00E239D3 /* FRepoInfoTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4541EBA7AE200038A59 /* FRepoInfoTest.m */; }; + DE9037381FBA5F8F00E239D3 /* FSparseSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4561EBA7AE200038A59 /* FSparseSnapshotTests.m */; }; + DE9037391FBA5F8F00E239D3 /* FSyncPointTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4581EBA7AE200038A59 /* FSyncPointTests.m */; }; + DE90373A1FBA5F8F00E239D3 /* FTrackedQueryManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB45B1EBA7AE200038A59 /* FTrackedQueryManagerTest.m */; }; + DE90373B1FBA5F8F00E239D3 /* FTreeSortedDictionaryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB4901EBA7AEF00038A59 /* FTreeSortedDictionaryTests.m */; }; + DE90373C1FBA5F8F00E239D3 /* FUtilitiesTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB45C1EBA7AE200038A59 /* FUtilitiesTest.m */; }; + DE90373F1FBA675D00E239D3 /* FDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D791E8EF202009EB6DF /* FDevice.m */; }; + DE9037401FBA675D00E239D3 /* FEventTester.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D7B1E8EF202009EB6DF /* FEventTester.m */; }; + DE9037411FBA675D00E239D3 /* FIRFakeApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB47E1EBA7AEF00038A59 /* FIRFakeApp.m */; }; + DE9037421FBA675D00E239D3 /* FIRTestAuthTokenProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D7D1E8EF202009EB6DF /* FIRTestAuthTokenProvider.m */; }; + DE9037431FBA675D00E239D3 /* FMockStorageEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D7F1E8EF202009EB6DF /* FMockStorageEngine.m */; }; + DE9037441FBA675D00E239D3 /* FTestAuthTokenGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D811E8EF202009EB6DF /* FTestAuthTokenGenerator.m */; }; + DE9037451FBA675D00E239D3 /* FTestBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 063CB45A1EBA7AE200038A59 /* FTestBase.m */; }; + DE9037461FBA675D00E239D3 /* FTestCachePolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D831E8EF202009EB6DF /* FTestCachePolicy.m */; }; + DE9037471FBA675D00E239D3 /* FTestClock.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D851E8EF202009EB6DF /* FTestClock.m */; }; + DE9037481FBA675D00E239D3 /* FTestExpectations.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D871E8EF202009EB6DF /* FTestExpectations.m */; }; + DE9037491FBA675D00E239D3 /* FTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D891E8EF202009EB6DF /* FTestHelpers.m */; }; + DE90374A1FBA675D00E239D3 /* FTupleEventTypeString.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D8B1E8EF203009EB6DF /* FTupleEventTypeString.m */; }; + DE90374B1FBA675D00E239D3 /* SenTest+FWaiter.m in Sources */ = {isa = PBXBuildFile; fileRef = DE7B8D8D1E8EF203009EB6DF /* SenTest+FWaiter.m */; }; + DE90374D1FBA70E400E239D3 /* syncPointSpec.json in Resources */ = {isa = PBXBuildFile; fileRef = DE7B8D8E1E8EF203009EB6DF /* syncPointSpec.json */; }; DE9315261E86C6FF0083EDBF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE9314ED1E86C6FF0083EDBF /* LaunchScreen.storyboard */; }; DE9315271E86C6FF0083EDBF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE9314EF1E86C6FF0083EDBF /* Main.storyboard */; }; DE9315291E86C6FF0083EDBF /* FIRAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314F31E86C6FF0083EDBF /* FIRAppDelegate.m */; }; @@ -409,6 +480,36 @@ DE9316031E8738E60083EDBF /* FIRMessagingSyncMessageManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315D41E8738B70083EDBF /* FIRMessagingSyncMessageManagerTest.m */; }; DE9316041E8738E60083EDBF /* FIRMessagingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315D51E8738B70083EDBF /* FIRMessagingTest.m */; }; DE9316051E8738E60083EDBF /* FIRMessagingTestNotificationUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315D71E8738B70083EDBF /* FIRMessagingTestNotificationUtilities.m */; }; + DEAAD3C31FBA1CD90053BF48 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD3BD1FBA1CD80053BF48 /* main.m */; }; + DEAAD3CE1FBA1EFA0053BF48 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DEAAD3C51FBA1EF90053BF48 /* Assets.xcassets */; }; + DEAAD3CF1FBA1EFA0053BF48 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD3C81FBA1EFA0053BF48 /* AppDelegate.m */; }; + DEAAD3D01FBA1EFA0053BF48 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD3C91FBA1EFA0053BF48 /* ViewController.m */; }; + DEAAD3D41FBA20480053BF48 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DEAAD3D21FBA1F850053BF48 /* Main.storyboard */; }; + DEAAD3D51FBA34250053BF48 /* FIRAppAssociationRegistrationUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D751E844677006FA992 /* FIRAppAssociationRegistrationUnitTests.m */; }; + DEAAD3D61FBA34250053BF48 /* FIRAppTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D761E844677006FA992 /* FIRAppTest.m */; }; + DEAAD3D71FBA34250053BF48 /* FIRBundleUtilTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D771E844677006FA992 /* FIRBundleUtilTest.m */; }; + DEAAD3D81FBA34250053BF48 /* FIRConfigurationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D781E844677006FA992 /* FIRConfigurationTest.m */; }; + DEAAD3D91FBA34250053BF48 /* FIRLoggerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D791E844677006FA992 /* FIRLoggerTest.m */; }; + DEAAD3DA1FBA34250053BF48 /* FIROptionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D7A1E844677006FA992 /* FIROptionsTest.m */; }; + DEAAD3DB1FBA34250053BF48 /* FIRTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D7C1E844677006FA992 /* FIRTestCase.m */; }; + DEAAD3DC1FBA36210053BF48 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DEE14D711E844677006FA992 /* GoogleService-Info.plist */; }; + DEAAD41A1FBA470B0053BF48 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD4131FBA470A0053BF48 /* AppDelegate.m */; }; + DEAAD41B1FBA470B0053BF48 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DEAAD4141FBA470A0053BF48 /* Assets.xcassets */; }; + DEAAD41D1FBA470B0053BF48 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD4161FBA470A0053BF48 /* main.m */; }; + DEAAD41E1FBA470B0053BF48 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DEAAD4171FBA470A0053BF48 /* Main.storyboard */; }; + DEAAD41F1FBA470B0053BF48 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DEAAD4191FBA470A0053BF48 /* ViewController.m */; }; + DEAAD4201FBA47110053BF48 /* 1mb.dat in Resources */ = {isa = PBXBuildFile; fileRef = 069428801EC3B35A00F7BC69 /* 1mb.dat */; }; + DEAAD4211FBA49D10053BF48 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DEB61EC11E7C5DBB00C04B96 /* GoogleService-Info.plist */; }; + DEAAD4221FBA49ED0053BF48 /* FIRStorageDeleteTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C11E734D9D00AC236D /* FIRStorageDeleteTests.m */; }; + DEAAD4231FBA49ED0053BF48 /* FIRStorageGetMetadataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C21E734D9D00AC236D /* FIRStorageGetMetadataTests.m */; }; + DEAAD4241FBA49ED0053BF48 /* FIRStorageMetadataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C31E734D9D00AC236D /* FIRStorageMetadataTests.m */; }; + DEAAD4251FBA49ED0053BF48 /* FIRStoragePathTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C41E734D9D00AC236D /* FIRStoragePathTests.m */; }; + DEAAD4261FBA49ED0053BF48 /* FIRStorageReferenceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C51E734D9D00AC236D /* FIRStorageReferenceTests.m */; }; + DEAAD4271FBA49ED0053BF48 /* FIRStorageTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C71E734D9D00AC236D /* FIRStorageTestHelpers.m */; }; + DEAAD4281FBA49ED0053BF48 /* FIRStorageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C81E734D9D00AC236D /* FIRStorageTests.m */; }; + DEAAD4291FBA49ED0053BF48 /* FIRStorageTokenAuthorizerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139C91E734D9D00AC236D /* FIRStorageTokenAuthorizerTests.m */; }; + DEAAD42A1FBA49ED0053BF48 /* FIRStorageUpdateMetadataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139CA1E734D9D00AC236D /* FIRStorageUpdateMetadataTests.m */; }; + DEAAD42B1FBA49ED0053BF48 /* FIRStorageUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB139CB1E734D9D00AC236D /* FIRStorageUtilsTests.m */; }; DEB139F41E73506A00AC236D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; DEB139F51E73506A00AC236D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; DEB139F61E73506A00AC236D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; @@ -446,7 +547,52 @@ DEE14D941E84468D006FA992 /* FIRTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D7C1E844677006FA992 /* FIRTestCase.m */; }; DEF288411F9AB6E100D480CF /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DEF288401F9AB6E100D480CF /* Default-568h@2x.png */; }; DEF288421F9AB6E100D480CF /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DEF288401F9AB6E100D480CF /* Default-568h@2x.png */; }; - FF33B94B3A34331129E4E4D5 /* Pods_Database_IntegrationTests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81C1ABDD7BB039B4BF06A29E /* Pods_Database_IntegrationTests_macOS.framework */; }; + DEF6C30D1FBCE72F005D0740 /* FIRAuthDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FF1E86C6FF0083EDBF /* FIRAuthDispatcherTests.m */; }; + DEF6C30F1FBCE775005D0740 /* FIRAdditionalUserInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FA1E86C6FF0083EDBF /* FIRAdditionalUserInfoTests.m */; }; + DEF6C3101FBCE775005D0740 /* FIRApp+FIRAuthUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FC1E86C6FF0083EDBF /* FIRApp+FIRAuthUnitTests.m */; }; + DEF6C3121FBCE775005D0740 /* FIRAuthAPNSTokenTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE750DB61EB3DD4000A75E47 /* FIRAuthAPNSTokenTests.m */; }; + DEF6C3131FBCE775005D0740 /* FIRAuthAppCredentialManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE750DB71EB3DD4000A75E47 /* FIRAuthAppCredentialManagerTests.m */; }; + DEF6C3141FBCE775005D0740 /* FIRAuthAppCredentialTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0E5BB51EA7D91C00FAA825 /* FIRAuthAppCredentialTests.m */; }; + DEF6C3161FBCE775005D0740 /* FIRAuthBackendCreateAuthURITests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FD1E86C6FF0083EDBF /* FIRAuthBackendCreateAuthURITests.m */; }; + DEF6C3171FBCE775005D0740 /* FIRAuthBackendRPCImplementationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FE1E86C6FF0083EDBF /* FIRAuthBackendRPCImplementationTests.m */; }; + DEF6C3181FBCE775005D0740 /* FIRAuthGlobalWorkQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315001E86C6FF0083EDBF /* FIRAuthGlobalWorkQueueTests.m */; }; + DEF6C3191FBCE775005D0740 /* FIRAuthKeychainTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315011E86C6FF0083EDBF /* FIRAuthKeychainTests.m */; }; + DEF6C31A1FBCE775005D0740 /* FIRAuthNotificationManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE750DB81EB3DD4000A75E47 /* FIRAuthNotificationManagerTests.m */; }; + DEF6C31B1FBCE775005D0740 /* FIRAuthSerialTaskQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315021E86C6FF0083EDBF /* FIRAuthSerialTaskQueueTests.m */; }; + DEF6C31C1FBCE775005D0740 /* FIRAuthTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315031E86C6FF0083EDBF /* FIRAuthTests.m */; }; + DEF6C31E1FBCE775005D0740 /* FIRAuthUserDefaultsStorageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315041E86C6FF0083EDBF /* FIRAuthUserDefaultsStorageTests.m */; }; + DEF6C31F1FBCE775005D0740 /* FIRCreateAuthURIRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315051E86C6FF0083EDBF /* FIRCreateAuthURIRequestTests.m */; }; + DEF6C3201FBCE775005D0740 /* FIRCreateAuthURIResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315061E86C6FF0083EDBF /* FIRCreateAuthURIResponseTests.m */; }; + DEF6C3211FBCE775005D0740 /* FIRDeleteAccountRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315071E86C6FF0083EDBF /* FIRDeleteAccountRequestTests.m */; }; + DEF6C3221FBCE775005D0740 /* FIRDeleteAccountResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315081E86C6FF0083EDBF /* FIRDeleteAccountResponseTests.m */; }; + DEF6C3231FBCE775005D0740 /* FIRFakeBackendRPCIssuer.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150A1E86C6FF0083EDBF /* FIRFakeBackendRPCIssuer.m */; }; + DEF6C3241FBCE775005D0740 /* FIRGetAccountInfoRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150B1E86C6FF0083EDBF /* FIRGetAccountInfoRequestTests.m */; }; + DEF6C3251FBCE775005D0740 /* FIRGetAccountInfoResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150C1E86C6FF0083EDBF /* FIRGetAccountInfoResponseTests.m */; }; + DEF6C3261FBCE775005D0740 /* FIRGetOOBConfirmationCodeRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150D1E86C6FF0083EDBF /* FIRGetOOBConfirmationCodeRequestTests.m */; }; + DEF6C3271FBCE775005D0740 /* FIRGetOOBConfirmationCodeResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150E1E86C6FF0083EDBF /* FIRGetOOBConfirmationCodeResponseTests.m */; }; + DEF6C3281FBCE775005D0740 /* FIRGetProjectConfigRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C61F578DF000D5EAFF /* FIRGetProjectConfigRequestTests.m */; }; + DEF6C3291FBCE775005D0740 /* FIRGetProjectConfigResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D92C82C51F578DF000D5EAFF /* FIRGetProjectConfigResponseTests.m */; }; + DEF6C32A1FBCE775005D0740 /* FIRGitHubAuthProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93150F1E86C6FF0083EDBF /* FIRGitHubAuthProviderTests.m */; }; + DEF6C32C1FBCE775005D0740 /* FIRResetPasswordRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315111E86C6FF0083EDBF /* FIRResetPasswordRequestTests.m */; }; + DEF6C32D1FBCE775005D0740 /* FIRResetPasswordResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315121E86C6FF0083EDBF /* FIRResetPasswordResponseTests.m */; }; + DEF6C3301FBCE775005D0740 /* FIRSetAccountInfoRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315151E86C6FF0083EDBF /* FIRSetAccountInfoRequestTests.m */; }; + DEF6C3311FBCE775005D0740 /* FIRSetAccountInfoResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315161E86C6FF0083EDBF /* FIRSetAccountInfoResponseTests.m */; }; + DEF6C3321FBCE775005D0740 /* FIRSignUpNewUserRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315171E86C6FF0083EDBF /* FIRSignUpNewUserRequestTests.m */; }; + DEF6C3331FBCE775005D0740 /* FIRSignUpNewUserResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315181E86C6FF0083EDBF /* FIRSignUpNewUserResponseTests.m */; }; + DEF6C3341FBCE775005D0740 /* FIRTwitterAuthProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315191E86C6FF0083EDBF /* FIRTwitterAuthProviderTests.m */; }; + DEF6C3351FBCE775005D0740 /* FIRUserMetadataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EFA2E031F71C93300DD354F /* FIRUserMetadataTests.m */; }; + DEF6C3361FBCE775005D0740 /* FIRUserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151A1E86C6FF0083EDBF /* FIRUserTests.m */; }; + DEF6C3371FBCE775005D0740 /* FIRVerifyAssertionRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151B1E86C6FF0083EDBF /* FIRVerifyAssertionRequestTests.m */; }; + DEF6C3381FBCE775005D0740 /* FIRVerifyAssertionResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151C1E86C6FF0083EDBF /* FIRVerifyAssertionResponseTests.m */; }; + DEF6C33B1FBCE775005D0740 /* FIRVerifyCustomTokenRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151D1E86C6FF0083EDBF /* FIRVerifyCustomTokenRequestTests.m */; }; + DEF6C33C1FBCE775005D0740 /* FIRVerifyCustomTokenResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151E1E86C6FF0083EDBF /* FIRVerifyCustomTokenResponseTests.m */; }; + DEF6C33D1FBCE775005D0740 /* FIRVerifyPasswordRequestTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DE93151F1E86C6FF0083EDBF /* FIRVerifyPasswordRequestTest.m */; }; + DEF6C33E1FBCE775005D0740 /* FIRVerifyPasswordResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315201E86C6FF0083EDBF /* FIRVerifyPasswordResponseTests.m */; }; + DEF6C3411FBCE775005D0740 /* OCMStubRecorder+FIRAuthUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9315241E86C6FF0083EDBF /* OCMStubRecorder+FIRAuthUnitTests.m */; }; + E0D25209B6EBC3F1C8902985 /* Pods_Auth_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F43E00CECD3298E770515E /* Pods_Auth_Example_iOS.framework */; }; + E1AAE49ECC7CBAB74C290B25 /* Pods_Auth_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ECF3BF97E614E5E627B8AFF /* Pods_Auth_Tests_iOS.framework */; }; + E3EE0971417119B44A7B6784 /* Pods_Messaging_Tests_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D1C7CFB87F3066712EF881B /* Pods_Messaging_Tests_iOS.framework */; }; + ECBC321017C94478E9DCEB4E /* Pods_Auth_Tests_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B687E5985EC23880B5FB9C0 /* Pods_Auth_Tests_macOS.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -541,6 +687,20 @@ remoteGlobalIDString = D0FE8A1E1ED9C804003F6722; remoteInfo = Database_Example_macOS; }; + DE1E3B301FEB1E7600EAEBB0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DE1FAE8F1FBCF5E100897AAA; + remoteInfo = Auth_Example_tvOS; + }; + DE1EC2841FBA5E63007D18D8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DE1CD5961FBA55AF00FC031E; + remoteInfo = Database_Example_tvOS; + }; DE26D2621F7049F1004AE1D3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6003F582195388D10070C39A /* Project object */; @@ -583,6 +743,27 @@ remoteGlobalIDString = DEB13A0A1E73507E00AC236D; remoteInfo = Storage_Tests_iOS; }; + DE545C831FBCA41C00C637AE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DEAAD3941FBA11270053BF48; + remoteInfo = Core_Tests_tvOS; + }; + DE545C851FBCA42C00C637AE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DEAAD3F41FBA46AB0053BF48; + remoteInfo = Storage_Tests_tvOS; + }; + DE545C871FBCA43200C637AE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DE1EC27E1FBA5E63007D18D8; + remoteInfo = Database_Tests_tvOS; + }; DE6F01B91E957157004AEE01 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6003F582195388D10070C39A /* Project object */; @@ -611,6 +792,20 @@ remoteGlobalIDString = DE9314DD1E86C6BE0083EDBF; remoteInfo = Auth_Tests_iOS; }; + DEAAD3961FBA11280053BF48 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DEAAD3801FBA11270053BF48; + remoteInfo = Core_Example_tvOS; + }; + DEAAD3F61FBA46AB0053BF48 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DEAAD3E01FBA46AA0053BF48; + remoteInfo = Storage_Example_tvOS; + }; DEB13A251E73512500AC236D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6003F582195388D10070C39A /* Project object */; @@ -655,6 +850,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D09005311EDB32D600154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -664,6 +860,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D09005331EDB32F100154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -673,6 +870,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D09005351EDB330E00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -682,6 +880,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D09005371EDB331C00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -691,6 +890,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D09005391EDB333A00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -700,6 +900,7 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D090053B1EDB334400154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -709,14 +910,17 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( + D090053D1EDB334D00154410 /* OCMock-iOS/OCMock.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 000DAC7D0D180A9FBB395BB6 /* Pods-Database_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 00BD45B2141C68C3F9809A4D /* Pods-Database_IntegrationTests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS.release.xcconfig"; sourceTree = ""; }; + 011545D4307696ABBF9658F2 /* Pods-Messaging_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + 0118423DA26C4B44AEE1B9C1 /* Pods-Core_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + 01936C31BDE676F86CF8DA39 /* Pods-Auth_SwiftSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_SwiftSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample.debug.xcconfig"; sourceTree = ""; }; + 042AFA12FC20D0683FB59B9E /* Pods-Auth_Tests_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_tvOS/Pods-Auth_Tests_tvOS.release.xcconfig"; sourceTree = ""; }; 06121EBC1EC399C50008D70E /* Storage_IntegrationTests_iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Storage_IntegrationTests_iOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 06121ECA1EC39A0B0008D70E /* FIRStorageIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRStorageIntegrationTests.m; sourceTree = ""; }; 0624F3E11EC0ECFA00E5940D /* Database_IntegrationTests_iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Database_IntegrationTests_iOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -776,70 +980,83 @@ 069428801EC3B35A00F7BC69 /* 1mb.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = 1mb.dat; sourceTree = ""; }; 0697B1201EC13D8A00542174 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = ""; }; 0697B1211EC13D8A00542174 /* Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Base64.m; sourceTree = ""; }; - 09F55B0265DCD315B2DD3C2E /* Pods-Auth_ApiTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_ApiTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests.debug.xcconfig"; sourceTree = ""; }; - 0ABC4448E5917769098A4EEF /* Pods_Auth_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C69403B9730C701BF2E0446 /* Pods-Auth_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS.release.xcconfig"; sourceTree = ""; }; - 0CA98384DDFFEECB1D473552 /* Pods-Auth_SwiftSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_SwiftSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample.debug.xcconfig"; sourceTree = ""; }; - 0D66D613C54F5BFF80D9AB63 /* Pods-Core_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 0DB176DCABEFDF6C19B302B0 /* Pods-Auth_EarlGreyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_EarlGreyTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests.release.xcconfig"; sourceTree = ""; }; - 1015568683E2DFCC2719C754 /* Pods_Auth_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1068E64D36A3C656184168DE /* Pods-Database_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS.debug.xcconfig"; sourceTree = ""; }; - 1735157165B298F2A1EC36E3 /* Pods-Auth_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 1CCC00FFFC534F0E9B41CF29 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS.debug.xcconfig"; sourceTree = ""; }; - 1E6C076D38C1763E00A3DACA /* Pods-Core_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS.release.xcconfig"; sourceTree = ""; }; - 20928A4E610E48E3EA4D9F4A /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS.debug.xcconfig"; sourceTree = ""; }; - 24B879B03BD82C7DE771CA61 /* Pods-Storage_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS.debug.xcconfig"; sourceTree = ""; }; - 287D8FC7F3129B28D8A29FBE /* Pods-Core_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS.release.xcconfig"; sourceTree = ""; }; - 28B01131418E340D322829AC /* Pods-Auth_SwiftSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_SwiftSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample.release.xcconfig"; sourceTree = ""; }; - 29606A0F0B0782779D4E73A1 /* Pods_Analytics_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Analytics_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B1B85CD0C7778447F3BFCD5 /* Pods-Database_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS.release.xcconfig"; sourceTree = ""; }; - 2B3C652966760042D996247E /* Pods-Core_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; - 3742438A60FCFAAF24CDE751 /* Pods_Storage_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3A304052F4122D3468145F6C /* Pods-Messaging_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS.release.xcconfig"; sourceTree = ""; }; - 3B9B568851BEE22B7FCB61FB /* Pods_Core_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E26CB853AB2CAF1960A0F71 /* Pods-Storage_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS.debug.xcconfig"; sourceTree = ""; }; - 4373FD322206E44A7CADC2A8 /* Pods_Auth_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 456CD9478A63272C4397975E /* Pods-Analytics_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Analytics_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS.release.xcconfig"; sourceTree = ""; }; - 46052D607615BD81295B65C6 /* Pods-Messaging_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 466C3694B6C68F69BA4DA448 /* Pods-Storage_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 48317719F315960780114559 /* Pods-Auth_Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Sample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample.debug.xcconfig"; sourceTree = ""; }; - 4852BF989C85671F5D7EBD2A /* Pods_Database_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4B490EFB675400675CA98196 /* Pods-Storage_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; - 4BF8EA84DF6AF0AB6E9BB6A0 /* Pods-Auth_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS.release.xcconfig"; sourceTree = ""; }; - 4CC7C8B9E821151509BB3B64 /* Pods-Database_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS.release.xcconfig"; sourceTree = ""; }; - 4D61AACC06F8E078EF051E4C /* Pods-Messaging_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS.debug.xcconfig"; sourceTree = ""; }; - 4ECAA105379B7E664C7FF223 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS.debug.xcconfig"; sourceTree = ""; }; - 5CA5A85B5A80F118F3247910 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS.release.xcconfig"; sourceTree = ""; }; - 5DA6361D6B54362D073F3BA5 /* Pods-Database_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS.release.xcconfig"; sourceTree = ""; }; + 06F3D16439F061DE9973902D /* Pods-Storage_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS.debug.xcconfig"; sourceTree = ""; }; + 0921DBEEC62AE8DCF318657D /* Pods-Core_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + 092A0E9B0100EB5D1592AD68 /* Pods_Core_Tests_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Tests_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0B687E5985EC23880B5FB9C0 /* Pods_Auth_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D4A8F333DE1D31AE14011D4 /* Pods-Auth_Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Sample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample.debug.xcconfig"; sourceTree = ""; }; + 0E086A7E5D54786963FBFC7D /* Pods-Auth_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS.debug.xcconfig"; sourceTree = ""; }; + 10C5FF4777A334F9F55ED95A /* Pods-Storage_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + 1113F1AFA1EFE58780FE9294 /* Pods_Database_IntegrationTests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_IntegrationTests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 122B6EBA56EAB083239B83DE /* Pods-Auth_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + 16182094A8A3749CA6D24429 /* Pods-Auth_EarlGreyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_EarlGreyTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests.debug.xcconfig"; sourceTree = ""; }; + 1ACEE1E8A4E9B9D4455A09AB /* Pods_Auth_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1D1C7CFB87F3066712EF881B /* Pods_Messaging_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Messaging_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1E5ECEF4C67573595335207D /* Pods-Auth_Example_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_tvOS/Pods-Auth_Example_tvOS.debug.xcconfig"; sourceTree = ""; }; + 1F2C1255ABA57AFDFD587103 /* Pods_Database_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1FAA82401DA4259800B142EA /* Pods_Auth_EarlGreyTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_EarlGreyTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 20AE8AA8E8EB8E0BEF84F161 /* Pods_Auth_Tests_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Tests_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 218DAA68383543E59864D4FA /* Pods-Storage_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + 249A92EF1ADB4E2186F9F788 /* Pods_Storage_IntegrationTests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_IntegrationTests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2CCF6BD7264693FD98E10850 /* Pods_Database_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2DE182937C7CA58E63112FD2 /* Pods-Analytics_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Analytics_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + 33C0463B7313FC8E23E5DAAD /* Pods_Auth_ApiTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_ApiTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 33C6BA3B4F6EEB1532A645E3 /* Pods-Database_IntegrationTests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS.release.xcconfig"; sourceTree = ""; }; + 37A2B647AFCDC9187D37529B /* Pods-Database_Tests_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_tvOS/Pods-Database_Tests_tvOS.release.xcconfig"; sourceTree = ""; }; + 381D76A090B5EF6699CA3673 /* Pods-Database_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS.release.xcconfig"; sourceTree = ""; }; + 39D965DC207D9E9C841AB1AF /* Pods-Auth_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS.debug.xcconfig"; sourceTree = ""; }; + 3A2BAC7CAFE05F790B1E34A1 /* Pods-Core_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS.release.xcconfig"; sourceTree = ""; }; + 3B69D19E3FAF168C8EF37C81 /* Pods-Auth_Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Sample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample.release.xcconfig"; sourceTree = ""; }; + 3BDE00663D69912D5F2A7101 /* Pods-Storage_Tests_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_tvOS/Pods-Storage_Tests_tvOS.debug.xcconfig"; sourceTree = ""; }; + 3CF8F39CB220DE230DDAEC15 /* Pods-Database_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS.debug.xcconfig"; sourceTree = ""; }; + 4384273DF1B662E4CE522BAF /* Pods_Auth_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 46EB9F652984D82936716B89 /* Pods-Auth_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; + 483A1D5066DE4B7EF0B8BF52 /* Pods_Database_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 48B19F642ED7795BE8C61702 /* Pods_Core_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 48EC844B9B5B226AB409C04D /* Pods_Analytics_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Analytics_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4A7EFB64559F46B8A5FA288D /* Pods-Messaging_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS.release.xcconfig"; sourceTree = ""; }; + 4CCB05296C6932B64AFBFB1A /* Pods-Database_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + 4ECF3BF97E614E5E627B8AFF /* Pods_Auth_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F088699064170B6010B477A /* Pods-Storage_Example_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_tvOS/Pods-Storage_Example_tvOS.debug.xcconfig"; sourceTree = ""; }; + 5318F3AE32EEBCC9FF608813 /* Pods_Database_Tests_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Tests_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5656210C04D3CE12EDEC3A00 /* Pods_Storage_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57876896413B7C97B317CCFD /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS.debug.xcconfig"; sourceTree = ""; }; + 5E0F451FE2DF377FEEE0C9CE /* Pods-Database_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + 5FAFDE80DEFDE1EF5415939B /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS.release.xcconfig"; sourceTree = ""; }; 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 6029CD8D7E65D491083D5944 /* Pods-Auth_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS.debug.xcconfig"; sourceTree = ""; }; - 6098677E3698C58151DC2E85 /* Pods-Messaging_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS.release.xcconfig"; sourceTree = ""; }; - 66544F771D53687DD73F8BE8 /* Pods_Database_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 68657030253DE5895E124F45 /* Pods_Core_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6A28B39B3D707677EF59C110 /* Pods_Storage_IntegrationTests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_IntegrationTests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6CCB3CEB7BF2E4994FBDB2E7 /* Pods_Messaging_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Messaging_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6FD4B6DC35E3304CBECFEC61 /* Pods-Core_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS.debug.xcconfig"; sourceTree = ""; }; - 77FA2AB612D17244983008F7 /* Pods-Analytics_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Analytics_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; - 7879DCC8860E7CED0311D4E8 /* Pods-Database_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS.release.xcconfig"; sourceTree = ""; }; - 7CF25C495716B3441849720B /* Pods_Database_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 61377AC9FE132A8D7BF71881 /* Pods_Database_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 63687A1F0EF54DDCBD13E4D4 /* Pods-Storage_Tests_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_tvOS/Pods-Storage_Tests_tvOS.release.xcconfig"; sourceTree = ""; }; + 639B98AAF5AC93281CDF9DAF /* Pods-Database_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS.debug.xcconfig"; sourceTree = ""; }; + 66A4B7148EBB02E1A68EB8B0 /* Pods-Storage_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS.debug.xcconfig"; sourceTree = ""; }; + 692B433E797D83866B178F94 /* Pods-Storage_Example_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_tvOS/Pods-Storage_Example_tvOS.release.xcconfig"; sourceTree = ""; }; + 6F9D3351687EF7767B507F0E /* Pods_Storage_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 70B04F7AEEC14B4E1E8C23D8 /* Pods-Auth_Tests_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_tvOS/Pods-Auth_Tests_tvOS.debug.xcconfig"; sourceTree = ""; }; + 72CFADA95DFD90718FDCFE19 /* Pods-Storage_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS.release.xcconfig"; sourceTree = ""; }; + 7981511F571E13DECA09B4B1 /* Pods-Core_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS.release.xcconfig"; sourceTree = ""; }; 7E94853F1F578A9D005A3939 /* FIRAuthURLPresenterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthURLPresenterTests.m; sourceTree = ""; }; + 7ED0DF69C095C21EFC81F672 /* Pods-Database_Example_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_tvOS/Pods-Database_Example_tvOS.release.xcconfig"; sourceTree = ""; }; 7EFA2E031F71C93300DD354F /* FIRUserMetadataTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRUserMetadataTests.m; sourceTree = ""; }; - 81C1ABDD7BB039B4BF06A29E /* Pods_Database_IntegrationTests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_IntegrationTests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8496034D8156555C5FCF8F14 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; - 84C51650773603D9F827CB3F /* Pods_Core_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8602A8FB9AF04A0C9A8FE380 /* Pods-Auth_Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Sample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample.release.xcconfig"; sourceTree = ""; }; - 86062A14985F49A3B99614A7 /* Pods_Core_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 86B8E0400070C72C0FE0C2F8 /* Pods-Database_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; - 870F50EE08ED74C38B5CAF79 /* Pods-Core_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS.debug.xcconfig"; sourceTree = ""; }; - 8F27F07800D6FD739BD094D3 /* Pods_Storage_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 910D7A5DE7D5AF153328D243 /* Pods_Storage_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 93491C87A390AB737849677E /* Pods_Auth_ApiTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_ApiTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 94C0FA103316CB56F37E20EA /* Pods-Auth_EarlGreyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_EarlGreyTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests.debug.xcconfig"; sourceTree = ""; }; - 97790B1C788991008685954F /* Pods-Storage_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS.release.xcconfig"; sourceTree = ""; }; - 979DF124E3D1146A81188F78 /* Pods_Storage_IntegrationTests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_IntegrationTests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A8E6527440C118AC7C21D504 /* Pods_Storage_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84EC7975F05977AE75E90A12 /* Pods_Database_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 86E271316861BA45BD9370FC /* Pods-Core_Example_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_tvOS/Pods-Core_Example_tvOS.debug.xcconfig"; sourceTree = ""; }; + 885461BA75A5FE1BF1CBC992 /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS.debug.xcconfig"; sourceTree = ""; }; + 8AB8C5932B72C705E2EBCF1B /* Pods-Auth_EarlGreyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_EarlGreyTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests.release.xcconfig"; sourceTree = ""; }; + 91D2A751787B7FDD624919EB /* Pods-Auth_SwiftSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_SwiftSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample.release.xcconfig"; sourceTree = ""; }; + 920F3E71E6698FEADDA9D37A /* Pods-Analytics_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Analytics_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + 94427D25FE9C3A26EF1A8ABE /* Pods_Core_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 984080F16FA41AF3AA9AD8C2 /* Pods_Messaging_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Messaging_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9878B57CF73D2F865992E6EA /* Pods_Auth_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 99BF1D5FC3F0CC27D845BCDE /* Pods-Messaging_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS.debug.xcconfig"; sourceTree = ""; }; + 9B2AAD4EC2BD3FBC053CBD2A /* Pods-Auth_Example_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_tvOS/Pods-Auth_Example_tvOS.release.xcconfig"; sourceTree = ""; }; + 9B4F4F14C797493D606A23A8 /* Pods_Storage_Tests_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Tests_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9E042E6047B5B5D409AD083F /* Pods-Auth_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + A1F43E00CECD3298E770515E /* Pods_Auth_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A2339EEA1F050084D3214753 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS.release.xcconfig"; sourceTree = ""; }; + A635330E6EB5E285D878626B /* Pods_Storage_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A91C660FB541A4CD17BD6559 /* Pods-Auth_ApiTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_ApiTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests.debug.xcconfig"; sourceTree = ""; }; + A94313324676D16235A36D32 /* Pods-Auth_ApiTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_ApiTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests.release.xcconfig"; sourceTree = ""; }; AFAF36F41EC28C25004BDEE5 /* Shared.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Shared.xcassets; path = Shared/Shared.xcassets; sourceTree = ""; }; AFC8BA9C1EBD230E00B8EEAE /* NotificationsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationsController.swift; sourceTree = ""; }; AFC8BA9E1EBD51A700B8EEAE /* Environment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; @@ -853,14 +1070,16 @@ AFD563131EB1466100EA2233 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "App/GoogleService-Info.plist"; sourceTree = ""; }; AFD563141EB29B8C00EA2233 /* Messaging_Example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Messaging_Example.entitlements; sourceTree = ""; }; AFD563161EBBEF7B00EA2233 /* Data+MessagingExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+MessagingExtensions.swift"; sourceTree = ""; }; - B0895BC929D50B20A69CEEEF /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS.release.xcconfig"; sourceTree = ""; }; - B0C1478ED7269FF2107F5B6F /* Pods_Messaging_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Messaging_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B0C52364C5FCE5D3FBAEAF83 /* Pods_Auth_SwiftSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_SwiftSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B1EFE04FF3C9650984C5E3C3 /* Pods-Storage_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS.release.xcconfig"; sourceTree = ""; }; - B4F2CCE27C567E675C27953C /* Pods-Auth_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS.debug.xcconfig"; sourceTree = ""; }; - BA1AAFF4508A97F7B32533FC /* Pods-Auth_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; - BDE126A5F0AFCA9956A4C5D9 /* Pods_Auth_EarlGreyTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_EarlGreyTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C1520E81B1BFD24ED1882137 /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS.debug.xcconfig"; sourceTree = ""; }; + B183A98C3EA6EA2E11FA31E4 /* Pods-Auth_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + B2FFB14744FBF59F4E89FE0F /* Pods_Database_IntegrationTests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_IntegrationTests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B44CC7B623B174C922C241EF /* Pods-Database_Example_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_tvOS/Pods-Database_Example_tvOS.debug.xcconfig"; sourceTree = ""; }; + B55C9A02AA68737098994C79 /* Pods-Core_Example_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS.debug.xcconfig"; sourceTree = ""; }; + B6BC99F9590CB7AAE33544C3 /* Pods-Core_Tests_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_tvOS/Pods-Core_Tests_tvOS.release.xcconfig"; sourceTree = ""; }; + B7C4D4083183945C8A9CE722 /* Pods-Database_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS.release.xcconfig"; sourceTree = ""; }; + BA1FFE4321DBF890ADDCAAEE /* Pods-Storage_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + BC23B1A7390BEA04DE724F7C /* Pods-Database_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + C2C9D2EB11B351A0EEB3B93D /* Pods-Messaging_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Messaging_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + CDEE84B9D494E05B9F9D46FF /* Pods-Core_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; D018534A1EDACED4003A645C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; D018534C1EDACED4003A645C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; D01853791EDAD084003A645C /* Auth_Example_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Auth_Example_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -881,6 +1100,7 @@ D064E6A41ED9B1BF001956DF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; D064E6A61ED9B1BF001956DF /* Core-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Core-Info.plist"; sourceTree = ""; }; D064E6BF1ED9B31C001956DF /* Core_Tests_macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Core_Tests_macOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = "OCMock-iOS/OCMock.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; D0EDB2CD1EDA04F800B6C31B /* Storage_Example_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Storage_Example_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; D0EDB2D01EDA056A00B6C31B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; D0EDB2D11EDA056A00B6C31B /* FIRAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FIRAppDelegate.h; sourceTree = ""; }; @@ -901,15 +1121,29 @@ D0FE8A2F1ED9C804003F6722 /* Database_Example_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Database_Example_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; D0FE8A621ED9C870003F6722 /* Database_Tests_macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Database_Tests_macOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; D0FE8A8C1ED9C87B003F6722 /* Database_IntegrationTests_macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Database_IntegrationTests_macOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - D6A450A39BCA3DB4138333D8 /* Pods-Auth_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS.release.xcconfig"; sourceTree = ""; }; - D837E35351C0B844EA64B959 /* Pods_Auth_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D2ACCDA6F5D95F900ADBC704 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS.debug.xcconfig"; sourceTree = ""; }; + D440FB786B320FCF836B508F /* Pods-Storage_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS.release.xcconfig"; sourceTree = ""; }; + D63A20E34B2316DBCDD87E6C /* Pods-Database_Tests_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_tvOS/Pods-Database_Tests_tvOS.debug.xcconfig"; sourceTree = ""; }; + D84F03BB958CAC55AF091002 /* Pods-Storage_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; + D89F11E328D414F78B66B2F2 /* Pods_Storage_IntegrationTests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_IntegrationTests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D92C82C51F578DF000D5EAFF /* FIRGetProjectConfigResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRGetProjectConfigResponseTests.m; sourceTree = ""; }; D92C82C61F578DF000D5EAFF /* FIRGetProjectConfigRequestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRGetProjectConfigRequestTests.m; sourceTree = ""; }; - DDF4A6C7CFF20DCCF96071EC /* Pods-Core_Tests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS.release.xcconfig"; sourceTree = ""; }; + DA298A99D536B60732EBCB7D /* Pods_Core_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DE0E5BB51EA7D91C00FAA825 /* FIRAuthAppCredentialTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthAppCredentialTests.m; sourceTree = ""; }; DE0E5BB61EA7D91C00FAA825 /* FIRAuthAppDelegateProxyTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthAppDelegateProxyTests.m; sourceTree = ""; }; DE0E5BB91EA7D92E00FAA825 /* FIRVerifyClientRequestTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRVerifyClientRequestTest.m; sourceTree = ""; }; DE0E5BBA1EA7D92E00FAA825 /* FIRVerifyClientResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRVerifyClientResponseTests.m; sourceTree = ""; }; + DE1CD5971FBA55AF00FC031E /* Database_Example_tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Database_Example_tvOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DE1EC27F1FBA5E63007D18D8 /* Database_Tests_tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Database_Tests_tvOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DE1EC28A1FBA5EB5007D18D8 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + DE1EC28B1FBA5EB5007D18D8 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + DE1EC28C1FBA5EB5007D18D8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DE1EC28D1FBA5EB5007D18D8 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DE1EC28E1FBA5EB5007D18D8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DE1EC28F1FBA5EB5007D18D8 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + DE1EC2901FBA5EB5007D18D8 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + DE1EC2911FBA5EB5007D18D8 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + DE1FAE901FBCF5E100897AAA /* Auth_Example_tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Auth_Example_tvOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; DE26D1C71F70330A004AE1D3 /* AuthCredentials.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthCredentials.h; sourceTree = ""; }; DE26D1C81F70330A004AE1D3 /* AuthCredentialsTemplate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthCredentialsTemplate.h; sourceTree = ""; }; DE26D1C91F70330A004AE1D3 /* FirebaseAuthApiTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirebaseAuthApiTests.m; sourceTree = ""; }; @@ -974,6 +1208,15 @@ DE26D26D1F705C35004AE1D3 /* Auth_EarlGreyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Auth_EarlGreyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; DE26D27D1F705EC7004AE1D3 /* SwiftSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; DE45C6641E7DA8CB009E6ACD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + DE53893E1FBB62E100199FC2 /* Auth_Tests_tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Auth_Tests_tvOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DE53894C1FBB635400199FC2 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + DE53894D1FBB635400199FC2 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + DE53894E1FBB635400199FC2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DE53894F1FBB635400199FC2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DE5389501FBB635400199FC2 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DE5389511FBB635400199FC2 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + DE5389521FBB635400199FC2 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + DE5389531FBB635400199FC2 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; DE750DB51EB3DD4000A75E47 /* FIRAuthAPNSTokenManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthAPNSTokenManagerTests.m; sourceTree = ""; }; DE750DB61EB3DD4000A75E47 /* FIRAuthAPNSTokenTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthAPNSTokenTests.m; sourceTree = ""; }; DE750DB71EB3DD4000A75E47 /* FIRAuthAppCredentialManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRAuthAppCredentialManagerTests.m; sourceTree = ""; }; @@ -1089,7 +1332,26 @@ DE9315D61E8738B70083EDBF /* FIRMessagingTestNotificationUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIRMessagingTestNotificationUtilities.h; sourceTree = ""; }; DE9315D71E8738B70083EDBF /* FIRMessagingTestNotificationUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRMessagingTestNotificationUtilities.m; sourceTree = ""; }; DE9315D81E8738B70083EDBF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DE9C3D75207E5D1DC70BB364 /* Pods_Database_Tests_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_Tests_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DEAAD3811FBA11270053BF48 /* Core_Example_tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Core_Example_tvOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DEAAD3951FBA11270053BF48 /* Core_Tests_tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Core_Tests_tvOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DEAAD3BD1FBA1CD80053BF48 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DEAAD3C41FBA1EF90053BF48 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DEAAD3C51FBA1EF90053BF48 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DEAAD3C61FBA1EF90053BF48 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + DEAAD3C71FBA1EF90053BF48 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + DEAAD3C81FBA1EFA0053BF48 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + DEAAD3C91FBA1EFA0053BF48 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + DEAAD3D21FBA1F850053BF48 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + DEAAD3E11FBA46AA0053BF48 /* Storage_Example_tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Storage_Example_tvOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DEAAD3F51FBA46AB0053BF48 /* Storage_Tests_tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Storage_Tests_tvOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DEAAD4121FBA470A0053BF48 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + DEAAD4131FBA470A0053BF48 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + DEAAD4141FBA470A0053BF48 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DEAAD4151FBA470A0053BF48 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DEAAD4161FBA470A0053BF48 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DEAAD4171FBA470A0053BF48 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + DEAAD4181FBA470A0053BF48 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + DEAAD4191FBA470A0053BF48 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; DEB139C11E734D9D00AC236D /* FIRStorageDeleteTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRStorageDeleteTests.m; sourceTree = ""; }; DEB139C21E734D9D00AC236D /* FIRStorageGetMetadataTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRStorageGetMetadataTests.m; sourceTree = ""; }; DEB139C31E734D9D00AC236D /* FIRStorageMetadataTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRStorageMetadataTests.m; sourceTree = ""; }; @@ -1140,16 +1402,21 @@ DEE14D7C1E844677006FA992 /* FIRTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRTestCase.m; sourceTree = ""; }; DEE14D7D1E844677006FA992 /* Tests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; DEF288401F9AB6E100D480CF /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - DFC35EAB61A983056BE25D28 /* Pods_Database_IntegrationTests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Database_IntegrationTests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E0EF5EDDB1FD839F03FC02AA /* Pods-Storage_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + DFCD819598D37C1AD6F7D601 /* Pods_Storage_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E0B3F6C29D6072C4CD9665AD /* Pods_Auth_SwiftSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_SwiftSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E18F9020BB494E59BB0DDA2E /* Pods-Core_Tests_tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_tvOS/Pods-Core_Tests_tvOS.debug.xcconfig"; sourceTree = ""; }; + E262D06D71EE92227622D747 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_IntegrationTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS.debug.xcconfig"; sourceTree = ""; }; E2C2834C90DBAB56D568189F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; - E5978C421A9123C9D34CBA43 /* Pods-Database_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS.debug.xcconfig"; sourceTree = ""; }; - E8A8A21551A3D8557757AD0D /* Pods-Auth_ApiTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_ApiTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests.release.xcconfig"; sourceTree = ""; }; - EDA33867CB04D0AADD09321A /* Pods-Database_IntegrationTests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS.release.xcconfig"; sourceTree = ""; }; - F7649E1B594D8101939746EA /* Pods-Core_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS.release.xcconfig"; sourceTree = ""; }; - F7A35264721D3C8D9F96F91C /* Pods_Auth_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Auth_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FD3AEF097DFCF2ADAC345D2A /* Pods-Storage_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Storage_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS.release.xcconfig"; sourceTree = ""; }; - FDBC4B909E617B02D7E741F6 /* Pods-Auth_Tests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Tests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS.release.xcconfig"; sourceTree = ""; }; + E6CD25911724B592A3988A50 /* Pods_Core_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E9BD713FA8E0DDA1C631EFA7 /* Pods_Core_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EAB8C42B67530BE1F6913791 /* Pods-Database_Tests_macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_Tests_macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS.debug.xcconfig"; sourceTree = ""; }; + EBC238B93690B48A560707ED /* Pods_Storage_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Storage_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ECDA16775B57C6E80011DD9B /* Pods-Core_Tests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Tests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS.debug.xcconfig"; sourceTree = ""; }; + EE6603729203B76D9914EE06 /* Pods-Core_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS.debug.xcconfig"; sourceTree = ""; }; + F2A878FAEAB3ACF41E7D630C /* Pods-Database_IntegrationTests_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Database_IntegrationTests_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS.release.xcconfig"; sourceTree = ""; }; + F55411158F1D5AD6FC20B9B9 /* Pods-Core_Example_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core_Example_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core_Example_tvOS/Pods-Core_Example_tvOS.release.xcconfig"; sourceTree = ""; }; + FF3BDAACC6424BF110DC26F2 /* Pods-Auth_Example_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS.release.xcconfig"; sourceTree = ""; }; + FFFFFD100F6720BBBA4176CC /* Pods-Auth_Example_macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Auth_Example_macOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1157,7 +1424,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6232ED3272E9C78C2A0E127F /* Pods_Storage_IntegrationTests_iOS.framework in Frameworks */, + 465CC1E7162634883C399206 /* Pods_Storage_IntegrationTests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1165,7 +1432,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DA464BCB6574F7FE299CB48D /* Pods_Database_IntegrationTests_iOS.framework in Frameworks */, + D5DA1D0CD1B4A2D08B5296D6 /* Pods_Database_IntegrationTests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1173,7 +1440,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8313C96352C6C77D481B5937 /* Pods_Messaging_Example_iOS.framework in Frameworks */, + 6462518AA418BF979F7ECD04 /* Pods_Messaging_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1181,7 +1448,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6D6FA69218AB107C266E1B70 /* Pods_Auth_Example_macOS.framework in Frameworks */, + 822CE316AE9827F7F0889B30 /* Pods_Auth_Example_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1189,7 +1456,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2C8B39CFF9898AE4B29AD114 /* Pods_Auth_Tests_macOS.framework in Frameworks */, + ECBC321017C94478E9DCEB4E /* Pods_Auth_Tests_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1197,7 +1464,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 431EBDD6071EF1AE6F6DBE5F /* Pods_Core_Example_macOS.framework in Frameworks */, + 91A0BCD9A296439CB7E7843C /* Pods_Core_Example_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1205,7 +1472,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 29136BCA0AD59481B07CFBB0 /* Pods_Core_Tests_macOS.framework in Frameworks */, + 37CFACAA408191867DE00FEA /* Pods_Core_Tests_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1213,7 +1480,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 063825B4D58274CB24B25FF1 /* Pods_Storage_Example_macOS.framework in Frameworks */, + 2C61352BC0FA096866E11A13 /* Pods_Storage_Example_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1221,7 +1488,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 529BBEFBB6D7A3653B6B3874 /* Pods_Storage_Tests_macOS.framework in Frameworks */, + D8C9C50E6CF043E74755973F /* Pods_Storage_Tests_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1229,7 +1496,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 91BECF25F64620DEDF99A106 /* Pods_Storage_IntegrationTests_macOS.framework in Frameworks */, + C521E0D6D9027DB7B2254B19 /* Pods_Storage_IntegrationTests_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1237,7 +1504,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A553FD534066F62EE74F2D51 /* Pods_Database_Example_macOS.framework in Frameworks */, + 451B83DCCB85173A0B5E15FB /* Pods_Database_Example_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1245,7 +1512,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7CA435AB1A753CC9EEDFA648 /* Pods_Database_Tests_macOS.framework in Frameworks */, + 7F41B0EFBDDA90CB9CE6CE5B /* Pods_Database_Tests_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1253,7 +1520,31 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FF33B94B3A34331129E4E4D5 /* Pods_Database_IntegrationTests_macOS.framework in Frameworks */, + 2FFD1B3D1BD1A79B3EBCE10B /* Pods_Database_IntegrationTests_macOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1CD5941FBA55AF00FC031E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A3C94871F590440BE6DDEBDB /* Pods_Database_Example_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1EC27C1FBA5E63007D18D8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7E26CF28514D041D284F00A5 /* Pods_Database_Tests_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1FAE8D1FBCF5E100897AAA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B1FF92C04BA1E704C11B0467 /* Pods_Auth_Example_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1261,7 +1552,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0C1D425E4DA4FBFD5A08B985 /* Pods_Auth_Sample.framework in Frameworks */, + C344068A9C3B2487279AB0BC /* Pods_Auth_Sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1269,7 +1560,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8FC590E7FF7C561991DC9DD6 /* Pods_Auth_ApiTests.framework in Frameworks */, + 0DADD37DFD4D9DC368B72DF8 /* Pods_Auth_ApiTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1277,7 +1568,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CD4DB22A28941C5FEE70686A /* Pods_Auth_EarlGreyTests.framework in Frameworks */, + 7E5BD38D202BFB8CD9CCEB53 /* Pods_Auth_EarlGreyTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1285,7 +1576,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 930570CF84207AEB98440760 /* Pods_Auth_SwiftSample.framework in Frameworks */, + 305C6268DB5BF4653F4843D6 /* Pods_Auth_SwiftSample.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE53893B1FBB62E100199FC2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7251EC9D9AA2AF1C7C6FFA27 /* Pods_Auth_Tests_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1293,7 +1592,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 825BE4C9299DAB7EFEB19B65 /* Pods_Database_Example_iOS.framework in Frameworks */, + DDAA23BBAF5FA178E01D89B6 /* Pods_Database_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1301,7 +1600,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6ADAC4BEBCE37253D2D7A50F /* Pods_Database_Tests_iOS.framework in Frameworks */, + BD84035FA14A8647DCB7AEE7 /* Pods_Database_Tests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1309,7 +1608,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 67EA2F675D33B39CEB0D41B1 /* Pods_Auth_Example_iOS.framework in Frameworks */, + E0D25209B6EBC3F1C8902985 /* Pods_Auth_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1317,7 +1616,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5207C8D12B9830DADB85FE67 /* Pods_Auth_Tests_iOS.framework in Frameworks */, + E1AAE49ECC7CBAB74C290B25 /* Pods_Auth_Tests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1325,7 +1624,39 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2ECC6F80E47D2646FA82B940 /* Pods_Messaging_Tests_iOS.framework in Frameworks */, + E3EE0971417119B44A7B6784 /* Pods_Messaging_Tests_iOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD37E1FBA11270053BF48 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2046226C96706813FEE60FAA /* Pods_Core_Example_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3921FBA11270053BF48 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 284F39A3FED7FC1457A20DA3 /* Pods_Core_Tests_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3DE1FBA46AA0053BF48 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 77FC21C5B8BB3E10497C9893 /* Pods_Storage_Example_tvOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3F21FBA46AB0053BF48 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7B6F7B081BE6A56CF0AE20F5 /* Pods_Storage_Tests_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1336,7 +1667,7 @@ DEB139F41E73506A00AC236D /* CoreGraphics.framework in Frameworks */, DEB139F51E73506A00AC236D /* UIKit.framework in Frameworks */, DEB139F61E73506A00AC236D /* Foundation.framework in Frameworks */, - 9CD1CAC2BC2C39B755F7BF88 /* Pods_Storage_Example_iOS.framework in Frameworks */, + BB2055D8C835CBDABB419B1C /* Pods_Storage_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1344,7 +1675,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 01E863BD40D23087B77F2F03 /* Pods_Storage_Tests_iOS.framework in Frameworks */, + 77E3EE8071524513EE52506F /* Pods_Storage_Tests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1352,7 +1683,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 53C9FD19788281F65D537548 /* Pods_Analytics_Tests_iOS.framework in Frameworks */, + 2EE6D7190CA87B2514217B5F /* Pods_Analytics_Tests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1360,7 +1691,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1A509E710C83B6D0A6CD286D /* Pods_Core_Example_iOS.framework in Frameworks */, + BBFDB50D4B4632DF9A32B305 /* Pods_Core_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1368,7 +1699,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ABA730C3E77B260C564C288A /* Pods_Core_Tests_iOS.framework in Frameworks */, + 66F5D2993433940E43128EFF /* Pods_Core_Tests_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1439,67 +1770,6 @@ path = third_party; sourceTree = ""; }; - 2A06FEEED3D48AAD710413A7 /* Pods */ = { - isa = PBXGroup; - children = ( - 09F55B0265DCD315B2DD3C2E /* Pods-Auth_ApiTests.debug.xcconfig */, - E8A8A21551A3D8557757AD0D /* Pods-Auth_ApiTests.release.xcconfig */, - 94C0FA103316CB56F37E20EA /* Pods-Auth_EarlGreyTests.debug.xcconfig */, - 0DB176DCABEFDF6C19B302B0 /* Pods-Auth_EarlGreyTests.release.xcconfig */, - 6029CD8D7E65D491083D5944 /* Pods-Auth_Example_iOS.debug.xcconfig */, - 0C69403B9730C701BF2E0446 /* Pods-Auth_Example_iOS.release.xcconfig */, - B4F2CCE27C567E675C27953C /* Pods-Auth_Example_macOS.debug.xcconfig */, - 4BF8EA84DF6AF0AB6E9BB6A0 /* Pods-Auth_Example_macOS.release.xcconfig */, - 48317719F315960780114559 /* Pods-Auth_Sample.debug.xcconfig */, - 8602A8FB9AF04A0C9A8FE380 /* Pods-Auth_Sample.release.xcconfig */, - 0CA98384DDFFEECB1D473552 /* Pods-Auth_SwiftSample.debug.xcconfig */, - 28B01131418E340D322829AC /* Pods-Auth_SwiftSample.release.xcconfig */, - 1735157165B298F2A1EC36E3 /* Pods-Auth_Tests_iOS.debug.xcconfig */, - D6A450A39BCA3DB4138333D8 /* Pods-Auth_Tests_iOS.release.xcconfig */, - BA1AAFF4508A97F7B32533FC /* Pods-Auth_Tests_macOS.debug.xcconfig */, - FDBC4B909E617B02D7E741F6 /* Pods-Auth_Tests_macOS.release.xcconfig */, - 870F50EE08ED74C38B5CAF79 /* Pods-Core_Example_iOS.debug.xcconfig */, - 1E6C076D38C1763E00A3DACA /* Pods-Core_Example_iOS.release.xcconfig */, - 6FD4B6DC35E3304CBECFEC61 /* Pods-Core_Example_macOS.debug.xcconfig */, - F7649E1B594D8101939746EA /* Pods-Core_Example_macOS.release.xcconfig */, - 0D66D613C54F5BFF80D9AB63 /* Pods-Core_Tests_iOS.debug.xcconfig */, - DDF4A6C7CFF20DCCF96071EC /* Pods-Core_Tests_iOS.release.xcconfig */, - 2B3C652966760042D996247E /* Pods-Core_Tests_macOS.debug.xcconfig */, - 287D8FC7F3129B28D8A29FBE /* Pods-Core_Tests_macOS.release.xcconfig */, - E5978C421A9123C9D34CBA43 /* Pods-Database_Example_iOS.debug.xcconfig */, - 5DA6361D6B54362D073F3BA5 /* Pods-Database_Example_iOS.release.xcconfig */, - 1068E64D36A3C656184168DE /* Pods-Database_Example_macOS.debug.xcconfig */, - 4CC7C8B9E821151509BB3B64 /* Pods-Database_Example_macOS.release.xcconfig */, - 20928A4E610E48E3EA4D9F4A /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */, - EDA33867CB04D0AADD09321A /* Pods-Database_IntegrationTests_iOS.release.xcconfig */, - 1CCC00FFFC534F0E9B41CF29 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */, - 00BD45B2141C68C3F9809A4D /* Pods-Database_IntegrationTests_macOS.release.xcconfig */, - 000DAC7D0D180A9FBB395BB6 /* Pods-Database_Tests_iOS.debug.xcconfig */, - 2B1B85CD0C7778447F3BFCD5 /* Pods-Database_Tests_iOS.release.xcconfig */, - 86B8E0400070C72C0FE0C2F8 /* Pods-Database_Tests_macOS.debug.xcconfig */, - 7879DCC8860E7CED0311D4E8 /* Pods-Database_Tests_macOS.release.xcconfig */, - 4D61AACC06F8E078EF051E4C /* Pods-Messaging_Example_iOS.debug.xcconfig */, - 6098677E3698C58151DC2E85 /* Pods-Messaging_Example_iOS.release.xcconfig */, - 46052D607615BD81295B65C6 /* Pods-Messaging_Tests_iOS.debug.xcconfig */, - 3A304052F4122D3468145F6C /* Pods-Messaging_Tests_iOS.release.xcconfig */, - 3E26CB853AB2CAF1960A0F71 /* Pods-Storage_Example_iOS.debug.xcconfig */, - 97790B1C788991008685954F /* Pods-Storage_Example_iOS.release.xcconfig */, - 24B879B03BD82C7DE771CA61 /* Pods-Storage_Example_macOS.debug.xcconfig */, - FD3AEF097DFCF2ADAC345D2A /* Pods-Storage_Example_macOS.release.xcconfig */, - 4ECAA105379B7E664C7FF223 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */, - 5CA5A85B5A80F118F3247910 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */, - C1520E81B1BFD24ED1882137 /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */, - B0895BC929D50B20A69CEEEF /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */, - 466C3694B6C68F69BA4DA448 /* Pods-Storage_Tests_iOS.debug.xcconfig */, - B1EFE04FF3C9650984C5E3C3 /* Pods-Storage_Tests_iOS.release.xcconfig */, - 4B490EFB675400675CA98196 /* Pods-Storage_Tests_macOS.debug.xcconfig */, - E0EF5EDDB1FD839F03FC02AA /* Pods-Storage_Tests_macOS.release.xcconfig */, - 77FA2AB612D17244983008F7 /* Pods-Analytics_Tests_iOS.debug.xcconfig */, - 456CD9478A63272C4397975E /* Pods-Analytics_Tests_iOS.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; 6003F581195388D10070C39A = { isa = PBXGroup; children = ( @@ -1513,7 +1783,7 @@ DEDFEFED1FD1B8C100F7D466 /* Analytics_Tests_iOS */, 6003F58C195388D20070C39A /* Frameworks */, 6003F58B195388D20070C39A /* Products */, - 2A06FEEED3D48AAD710413A7 /* Pods */, + 96BADAA81FD7CF6BED52C215 /* Pods */, ); sourceTree = ""; }; @@ -1546,6 +1816,14 @@ DE26D25D1F7049F1004AE1D3 /* Auth_ApiTests.xctest */, DE26D26D1F705C35004AE1D3 /* Auth_EarlGreyTests.xctest */, DE26D27D1F705EC7004AE1D3 /* SwiftSample.app */, + DEAAD3811FBA11270053BF48 /* Core_Example_tvOS.app */, + DEAAD3951FBA11270053BF48 /* Core_Tests_tvOS.xctest */, + DEAAD3E11FBA46AA0053BF48 /* Storage_Example_tvOS.app */, + DEAAD3F51FBA46AB0053BF48 /* Storage_Tests_tvOS.xctest */, + DE1CD5971FBA55AF00FC031E /* Database_Example_tvOS.app */, + DE1EC27F1FBA5E63007D18D8 /* Database_Tests_tvOS.xctest */, + DE53893E1FBB62E100199FC2 /* Auth_Tests_tvOS.xctest */, + DE1FAE901FBCF5E100897AAA /* Auth_Example_tvOS.app */, DEDFEFEC1FD1B8C100F7D466 /* Analytics_Tests_iOS.xctest */, ); name = Products; @@ -1554,38 +1832,47 @@ 6003F58C195388D20070C39A /* Frameworks */ = { isa = PBXGroup; children = ( + D09005301EDB32D600154410 /* OCMock-iOS/OCMock.framework */, DE45C6641E7DA8CB009E6ACD /* XCTest.framework */, DEB61E781E7C542600C04B96 /* libsqlite3.tbd */, 6003F58D195388D20070C39A /* Foundation.framework */, 6003F58F195388D20070C39A /* CoreGraphics.framework */, 6003F591195388D20070C39A /* UIKit.framework */, - 93491C87A390AB737849677E /* Pods_Auth_ApiTests.framework */, - BDE126A5F0AFCA9956A4C5D9 /* Pods_Auth_EarlGreyTests.framework */, - 4373FD322206E44A7CADC2A8 /* Pods_Auth_Example_iOS.framework */, - F7A35264721D3C8D9F96F91C /* Pods_Auth_Example_macOS.framework */, - D837E35351C0B844EA64B959 /* Pods_Auth_Sample.framework */, - B0C52364C5FCE5D3FBAEAF83 /* Pods_Auth_SwiftSample.framework */, - 0ABC4448E5917769098A4EEF /* Pods_Auth_Tests_iOS.framework */, - 1015568683E2DFCC2719C754 /* Pods_Auth_Tests_macOS.framework */, - 68657030253DE5895E124F45 /* Pods_Core_Example_iOS.framework */, - 84C51650773603D9F827CB3F /* Pods_Core_Example_macOS.framework */, - 3B9B568851BEE22B7FCB61FB /* Pods_Core_Tests_iOS.framework */, - 86062A14985F49A3B99614A7 /* Pods_Core_Tests_macOS.framework */, - 66544F771D53687DD73F8BE8 /* Pods_Database_Example_iOS.framework */, - 7CF25C495716B3441849720B /* Pods_Database_Example_macOS.framework */, - DFC35EAB61A983056BE25D28 /* Pods_Database_IntegrationTests_iOS.framework */, - 81C1ABDD7BB039B4BF06A29E /* Pods_Database_IntegrationTests_macOS.framework */, - 4852BF989C85671F5D7EBD2A /* Pods_Database_Tests_iOS.framework */, - DE9C3D75207E5D1DC70BB364 /* Pods_Database_Tests_macOS.framework */, - B0C1478ED7269FF2107F5B6F /* Pods_Messaging_Example_iOS.framework */, - 6CCB3CEB7BF2E4994FBDB2E7 /* Pods_Messaging_Tests_iOS.framework */, - 3742438A60FCFAAF24CDE751 /* Pods_Storage_Example_iOS.framework */, - 8F27F07800D6FD739BD094D3 /* Pods_Storage_Example_macOS.framework */, - 979DF124E3D1146A81188F78 /* Pods_Storage_IntegrationTests_iOS.framework */, - 6A28B39B3D707677EF59C110 /* Pods_Storage_IntegrationTests_macOS.framework */, - A8E6527440C118AC7C21D504 /* Pods_Storage_Tests_iOS.framework */, - 910D7A5DE7D5AF153328D243 /* Pods_Storage_Tests_macOS.framework */, - 29606A0F0B0782779D4E73A1 /* Pods_Analytics_Tests_iOS.framework */, + 48EC844B9B5B226AB409C04D /* Pods_Analytics_Tests_iOS.framework */, + 33C0463B7313FC8E23E5DAAD /* Pods_Auth_ApiTests.framework */, + 1FAA82401DA4259800B142EA /* Pods_Auth_EarlGreyTests.framework */, + A1F43E00CECD3298E770515E /* Pods_Auth_Example_iOS.framework */, + 9878B57CF73D2F865992E6EA /* Pods_Auth_Example_macOS.framework */, + 4384273DF1B662E4CE522BAF /* Pods_Auth_Example_tvOS.framework */, + 1ACEE1E8A4E9B9D4455A09AB /* Pods_Auth_Sample.framework */, + E0B3F6C29D6072C4CD9665AD /* Pods_Auth_SwiftSample.framework */, + 4ECF3BF97E614E5E627B8AFF /* Pods_Auth_Tests_iOS.framework */, + 0B687E5985EC23880B5FB9C0 /* Pods_Auth_Tests_macOS.framework */, + 20AE8AA8E8EB8E0BEF84F161 /* Pods_Auth_Tests_tvOS.framework */, + 94427D25FE9C3A26EF1A8ABE /* Pods_Core_Example_iOS.framework */, + DA298A99D536B60732EBCB7D /* Pods_Core_Example_macOS.framework */, + E9BD713FA8E0DDA1C631EFA7 /* Pods_Core_Example_tvOS.framework */, + E6CD25911724B592A3988A50 /* Pods_Core_Tests_iOS.framework */, + 48B19F642ED7795BE8C61702 /* Pods_Core_Tests_macOS.framework */, + 092A0E9B0100EB5D1592AD68 /* Pods_Core_Tests_tvOS.framework */, + 1F2C1255ABA57AFDFD587103 /* Pods_Database_Example_iOS.framework */, + 84EC7975F05977AE75E90A12 /* Pods_Database_Example_macOS.framework */, + 483A1D5066DE4B7EF0B8BF52 /* Pods_Database_Example_tvOS.framework */, + 1113F1AFA1EFE58780FE9294 /* Pods_Database_IntegrationTests_iOS.framework */, + B2FFB14744FBF59F4E89FE0F /* Pods_Database_IntegrationTests_macOS.framework */, + 2CCF6BD7264693FD98E10850 /* Pods_Database_Tests_iOS.framework */, + 61377AC9FE132A8D7BF71881 /* Pods_Database_Tests_macOS.framework */, + 5318F3AE32EEBCC9FF608813 /* Pods_Database_Tests_tvOS.framework */, + 984080F16FA41AF3AA9AD8C2 /* Pods_Messaging_Example_iOS.framework */, + 1D1C7CFB87F3066712EF881B /* Pods_Messaging_Tests_iOS.framework */, + DFCD819598D37C1AD6F7D601 /* Pods_Storage_Example_iOS.framework */, + 5656210C04D3CE12EDEC3A00 /* Pods_Storage_Example_macOS.framework */, + EBC238B93690B48A560707ED /* Pods_Storage_Example_tvOS.framework */, + D89F11E328D414F78B66B2F2 /* Pods_Storage_IntegrationTests_iOS.framework */, + 249A92EF1ADB4E2186F9F788 /* Pods_Storage_IntegrationTests_macOS.framework */, + 6F9D3351687EF7767B507F0E /* Pods_Storage_Tests_iOS.framework */, + A635330E6EB5E285D878626B /* Pods_Storage_Tests_macOS.framework */, + 9B4F4F14C797493D606A23A8 /* Pods_Storage_Tests_tvOS.framework */, ); name = Frameworks; sourceTree = ""; @@ -1599,6 +1886,83 @@ name = "Podspec Metadata"; sourceTree = ""; }; + 96BADAA81FD7CF6BED52C215 /* Pods */ = { + isa = PBXGroup; + children = ( + 920F3E71E6698FEADDA9D37A /* Pods-Analytics_Tests_iOS.debug.xcconfig */, + 2DE182937C7CA58E63112FD2 /* Pods-Analytics_Tests_iOS.release.xcconfig */, + A91C660FB541A4CD17BD6559 /* Pods-Auth_ApiTests.debug.xcconfig */, + A94313324676D16235A36D32 /* Pods-Auth_ApiTests.release.xcconfig */, + 16182094A8A3749CA6D24429 /* Pods-Auth_EarlGreyTests.debug.xcconfig */, + 8AB8C5932B72C705E2EBCF1B /* Pods-Auth_EarlGreyTests.release.xcconfig */, + 39D965DC207D9E9C841AB1AF /* Pods-Auth_Example_iOS.debug.xcconfig */, + FF3BDAACC6424BF110DC26F2 /* Pods-Auth_Example_iOS.release.xcconfig */, + 0E086A7E5D54786963FBFC7D /* Pods-Auth_Example_macOS.debug.xcconfig */, + FFFFFD100F6720BBBA4176CC /* Pods-Auth_Example_macOS.release.xcconfig */, + 1E5ECEF4C67573595335207D /* Pods-Auth_Example_tvOS.debug.xcconfig */, + 9B2AAD4EC2BD3FBC053CBD2A /* Pods-Auth_Example_tvOS.release.xcconfig */, + 0D4A8F333DE1D31AE14011D4 /* Pods-Auth_Sample.debug.xcconfig */, + 3B69D19E3FAF168C8EF37C81 /* Pods-Auth_Sample.release.xcconfig */, + 01936C31BDE676F86CF8DA39 /* Pods-Auth_SwiftSample.debug.xcconfig */, + 91D2A751787B7FDD624919EB /* Pods-Auth_SwiftSample.release.xcconfig */, + 9E042E6047B5B5D409AD083F /* Pods-Auth_Tests_iOS.debug.xcconfig */, + 122B6EBA56EAB083239B83DE /* Pods-Auth_Tests_iOS.release.xcconfig */, + 46EB9F652984D82936716B89 /* Pods-Auth_Tests_macOS.debug.xcconfig */, + B183A98C3EA6EA2E11FA31E4 /* Pods-Auth_Tests_macOS.release.xcconfig */, + 70B04F7AEEC14B4E1E8C23D8 /* Pods-Auth_Tests_tvOS.debug.xcconfig */, + 042AFA12FC20D0683FB59B9E /* Pods-Auth_Tests_tvOS.release.xcconfig */, + EE6603729203B76D9914EE06 /* Pods-Core_Example_iOS.debug.xcconfig */, + 3A2BAC7CAFE05F790B1E34A1 /* Pods-Core_Example_iOS.release.xcconfig */, + B55C9A02AA68737098994C79 /* Pods-Core_Example_macOS.debug.xcconfig */, + 7981511F571E13DECA09B4B1 /* Pods-Core_Example_macOS.release.xcconfig */, + 86E271316861BA45BD9370FC /* Pods-Core_Example_tvOS.debug.xcconfig */, + F55411158F1D5AD6FC20B9B9 /* Pods-Core_Example_tvOS.release.xcconfig */, + ECDA16775B57C6E80011DD9B /* Pods-Core_Tests_iOS.debug.xcconfig */, + 0921DBEEC62AE8DCF318657D /* Pods-Core_Tests_iOS.release.xcconfig */, + CDEE84B9D494E05B9F9D46FF /* Pods-Core_Tests_macOS.debug.xcconfig */, + 0118423DA26C4B44AEE1B9C1 /* Pods-Core_Tests_macOS.release.xcconfig */, + E18F9020BB494E59BB0DDA2E /* Pods-Core_Tests_tvOS.debug.xcconfig */, + B6BC99F9590CB7AAE33544C3 /* Pods-Core_Tests_tvOS.release.xcconfig */, + 3CF8F39CB220DE230DDAEC15 /* Pods-Database_Example_iOS.debug.xcconfig */, + 381D76A090B5EF6699CA3673 /* Pods-Database_Example_iOS.release.xcconfig */, + 639B98AAF5AC93281CDF9DAF /* Pods-Database_Example_macOS.debug.xcconfig */, + B7C4D4083183945C8A9CE722 /* Pods-Database_Example_macOS.release.xcconfig */, + B44CC7B623B174C922C241EF /* Pods-Database_Example_tvOS.debug.xcconfig */, + 7ED0DF69C095C21EFC81F672 /* Pods-Database_Example_tvOS.release.xcconfig */, + 885461BA75A5FE1BF1CBC992 /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */, + 33C6BA3B4F6EEB1532A645E3 /* Pods-Database_IntegrationTests_iOS.release.xcconfig */, + D2ACCDA6F5D95F900ADBC704 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */, + F2A878FAEAB3ACF41E7D630C /* Pods-Database_IntegrationTests_macOS.release.xcconfig */, + 5E0F451FE2DF377FEEE0C9CE /* Pods-Database_Tests_iOS.debug.xcconfig */, + BC23B1A7390BEA04DE724F7C /* Pods-Database_Tests_iOS.release.xcconfig */, + EAB8C42B67530BE1F6913791 /* Pods-Database_Tests_macOS.debug.xcconfig */, + 4CCB05296C6932B64AFBFB1A /* Pods-Database_Tests_macOS.release.xcconfig */, + D63A20E34B2316DBCDD87E6C /* Pods-Database_Tests_tvOS.debug.xcconfig */, + 37A2B647AFCDC9187D37529B /* Pods-Database_Tests_tvOS.release.xcconfig */, + 99BF1D5FC3F0CC27D845BCDE /* Pods-Messaging_Example_iOS.debug.xcconfig */, + 4A7EFB64559F46B8A5FA288D /* Pods-Messaging_Example_iOS.release.xcconfig */, + 011545D4307696ABBF9658F2 /* Pods-Messaging_Tests_iOS.debug.xcconfig */, + C2C9D2EB11B351A0EEB3B93D /* Pods-Messaging_Tests_iOS.release.xcconfig */, + 06F3D16439F061DE9973902D /* Pods-Storage_Example_iOS.debug.xcconfig */, + D440FB786B320FCF836B508F /* Pods-Storage_Example_iOS.release.xcconfig */, + 66A4B7148EBB02E1A68EB8B0 /* Pods-Storage_Example_macOS.debug.xcconfig */, + 72CFADA95DFD90718FDCFE19 /* Pods-Storage_Example_macOS.release.xcconfig */, + 4F088699064170B6010B477A /* Pods-Storage_Example_tvOS.debug.xcconfig */, + 692B433E797D83866B178F94 /* Pods-Storage_Example_tvOS.release.xcconfig */, + E262D06D71EE92227622D747 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */, + A2339EEA1F050084D3214753 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */, + 57876896413B7C97B317CCFD /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */, + 5FAFDE80DEFDE1EF5415939B /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */, + 218DAA68383543E59864D4FA /* Pods-Storage_Tests_iOS.debug.xcconfig */, + 10C5FF4777A334F9F55ED95A /* Pods-Storage_Tests_iOS.release.xcconfig */, + D84F03BB958CAC55AF091002 /* Pods-Storage_Tests_macOS.debug.xcconfig */, + BA1FFE4321DBF890ADDCAAEE /* Pods-Storage_Tests_macOS.release.xcconfig */, + 3BDE00663D69912D5F2A7101 /* Pods-Storage_Tests_tvOS.debug.xcconfig */, + 63687A1F0EF54DDCBD13E4D4 /* Pods-Storage_Tests_tvOS.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; AFC8BAA01EC24B1600B8EEAE /* Shared */ = { isa = PBXGroup; children = ( @@ -1751,6 +2115,21 @@ name = macOS; sourceTree = ""; }; + DE1EC2891FBA5EB5007D18D8 /* tvOS */ = { + isa = PBXGroup; + children = ( + DE1EC28A1FBA5EB5007D18D8 /* AppDelegate.h */, + DE1EC28B1FBA5EB5007D18D8 /* AppDelegate.m */, + DE1EC28C1FBA5EB5007D18D8 /* Assets.xcassets */, + DE1EC28D1FBA5EB5007D18D8 /* Info.plist */, + DE1EC28E1FBA5EB5007D18D8 /* main.m */, + DE1EC28F1FBA5EB5007D18D8 /* Main.storyboard */, + DE1EC2901FBA5EB5007D18D8 /* ViewController.h */, + DE1EC2911FBA5EB5007D18D8 /* ViewController.m */, + ); + path = tvOS; + sourceTree = ""; + }; DE26D1C61F70330A004AE1D3 /* ApiTests */ = { isa = PBXGroup; children = ( @@ -1835,6 +2214,21 @@ path = SwiftSample; sourceTree = ""; }; + DE53894B1FBB635400199FC2 /* tvOS */ = { + isa = PBXGroup; + children = ( + DE53894C1FBB635400199FC2 /* AppDelegate.h */, + DE5389521FBB635400199FC2 /* ViewController.h */, + DE53894D1FBB635400199FC2 /* AppDelegate.m */, + DE5389501FBB635400199FC2 /* main.m */, + DE5389531FBB635400199FC2 /* ViewController.m */, + DE53894F1FBB635400199FC2 /* Info.plist */, + DE5389511FBB635400199FC2 /* Main.storyboard */, + DE53894E1FBB635400199FC2 /* Assets.xcassets */, + ); + path = tvOS; + sourceTree = ""; + }; DE7B8D2A1E8EF202009EB6DF /* Database */ = { isa = PBXGroup; children = ( @@ -1848,6 +2242,7 @@ isa = PBXGroup; children = ( 0672F2F11EBBA7D900818E87 /* GoogleService-Info.plist */, + DE1EC2891FBA5EB5007D18D8 /* tvOS */, D0FE8A141ED9C5B2003F6722 /* iOS */, D0FE8A151ED9C5B8003F6722 /* macOS */, ); @@ -1871,16 +2266,18 @@ DE7B8D391E8EF202009EB6DF /* Unit */ = { isa = PBXGroup; children = ( + 063CB47A1EBA7AEF00038A59 /* FIRDataSnapshotTests.h */, + 063CB4491EBA7AE200038A59 /* FIRMutableDataTests.h */, + 063CB44D1EBA7AE200038A59 /* FPathTests.h */, + 063CB4551EBA7AE200038A59 /* FSparseSnapshotTests.h */, + 063CB4571EBA7AE200038A59 /* FSyncPointTests.h */, 063CB4471EBA7AE200038A59 /* FArraySortedDictionaryTest.m */, 063CB4481EBA7AE200038A59 /* FCompoundHashTest.m */, 063CB46E1EBA7AEF00038A59 /* FCompoundWriteTest.m */, - 063CB47A1EBA7AEF00038A59 /* FIRDataSnapshotTests.h */, 063CB47B1EBA7AEF00038A59 /* FIRDataSnapshotTests.m */, - 063CB4491EBA7AE200038A59 /* FIRMutableDataTests.h */, 063CB44A1EBA7AE200038A59 /* FIRMutableDataTests.m */, 063CB44B1EBA7AE200038A59 /* FLevelDBStorageEngineTests.m */, 063CB44C1EBA7AE200038A59 /* FNodeTests.m */, - 063CB44D1EBA7AE200038A59 /* FPathTests.h */, 063CB44E1EBA7AE200038A59 /* FPathTests.m */, 063CB44F1EBA7AE200038A59 /* FPersistenceManagerTest.m */, 063CB4501EBA7AE200038A59 /* FPruneForestTest.m */, @@ -1888,9 +2285,7 @@ 063CB4521EBA7AE200038A59 /* FQueryParamsTest.m */, 063CB4531EBA7AE200038A59 /* FRangeMergeTest.m */, 063CB4541EBA7AE200038A59 /* FRepoInfoTest.m */, - 063CB4551EBA7AE200038A59 /* FSparseSnapshotTests.h */, 063CB4561EBA7AE200038A59 /* FSparseSnapshotTests.m */, - 063CB4571EBA7AE200038A59 /* FSyncPointTests.h */, 063CB4581EBA7AE200038A59 /* FSyncPointTests.m */, 063CB45B1EBA7AE200038A59 /* FTrackedQueryManagerTest.m */, 063CB4901EBA7AEF00038A59 /* FTreeSortedDictionaryTests.m */, @@ -1903,31 +2298,31 @@ isa = PBXGroup; children = ( DE7B8D781E8EF202009EB6DF /* FDevice.h */, - DE7B8D791E8EF202009EB6DF /* FDevice.m */, DE7B8D7A1E8EF202009EB6DF /* FEventTester.h */, - DE7B8D7B1E8EF202009EB6DF /* FEventTester.m */, 063CB47D1EBA7AEF00038A59 /* FIRFakeApp.h */, - 063CB47E1EBA7AEF00038A59 /* FIRFakeApp.m */, DE7B8D7C1E8EF202009EB6DF /* FIRTestAuthTokenProvider.h */, - DE7B8D7D1E8EF202009EB6DF /* FIRTestAuthTokenProvider.m */, DE7B8D7E1E8EF202009EB6DF /* FMockStorageEngine.h */, - DE7B8D7F1E8EF202009EB6DF /* FMockStorageEngine.m */, DE7B8D801E8EF202009EB6DF /* FTestAuthTokenGenerator.h */, - DE7B8D811E8EF202009EB6DF /* FTestAuthTokenGenerator.m */, 063CB4591EBA7AE200038A59 /* FTestBase.h */, - 063CB45A1EBA7AE200038A59 /* FTestBase.m */, DE7B8D821E8EF202009EB6DF /* FTestCachePolicy.h */, - DE7B8D831E8EF202009EB6DF /* FTestCachePolicy.m */, DE7B8D841E8EF202009EB6DF /* FTestClock.h */, - DE7B8D851E8EF202009EB6DF /* FTestClock.m */, 063CB48D1EBA7AEF00038A59 /* FTestContants.h */, DE7B8D861E8EF202009EB6DF /* FTestExpectations.h */, - DE7B8D871E8EF202009EB6DF /* FTestExpectations.m */, DE7B8D881E8EF202009EB6DF /* FTestHelpers.h */, - DE7B8D891E8EF202009EB6DF /* FTestHelpers.m */, DE7B8D8A1E8EF203009EB6DF /* FTupleEventTypeString.h */, - DE7B8D8B1E8EF203009EB6DF /* FTupleEventTypeString.m */, DE7B8D8C1E8EF203009EB6DF /* SenTest+FWaiter.h */, + DE7B8D791E8EF202009EB6DF /* FDevice.m */, + DE7B8D7B1E8EF202009EB6DF /* FEventTester.m */, + 063CB47E1EBA7AEF00038A59 /* FIRFakeApp.m */, + DE7B8D7D1E8EF202009EB6DF /* FIRTestAuthTokenProvider.m */, + DE7B8D7F1E8EF202009EB6DF /* FMockStorageEngine.m */, + DE7B8D811E8EF202009EB6DF /* FTestAuthTokenGenerator.m */, + 063CB45A1EBA7AE200038A59 /* FTestBase.m */, + DE7B8D831E8EF202009EB6DF /* FTestCachePolicy.m */, + DE7B8D851E8EF202009EB6DF /* FTestClock.m */, + DE7B8D871E8EF202009EB6DF /* FTestExpectations.m */, + DE7B8D891E8EF202009EB6DF /* FTestHelpers.m */, + DE7B8D8B1E8EF203009EB6DF /* FTupleEventTypeString.m */, DE7B8D8D1E8EF203009EB6DF /* SenTest+FWaiter.m */, ); path = Helpers; @@ -1949,6 +2344,7 @@ DE9314EC1E86C6FF0083EDBF /* App */ = { isa = PBXGroup; children = ( + DE53894B1FBB635400199FC2 /* tvOS */, DE9314F61E86C6FF0083EDBF /* GoogleService-Info.plist */, D01853461EDACC10003A645C /* iOS */, D01853471EDACC10003A645C /* macOS */, @@ -1959,28 +2355,25 @@ DE9314F91E86C6FF0083EDBF /* Tests */ = { isa = PBXGroup; children = ( - 7E94853F1F578A9D005A3939 /* FIRAuthURLPresenterTests.m */, - DE750DB51EB3DD4000A75E47 /* FIRAuthAPNSTokenManagerTests.m */, - DE750DB61EB3DD4000A75E47 /* FIRAuthAPNSTokenTests.m */, - DE750DB71EB3DD4000A75E47 /* FIRAuthAppCredentialManagerTests.m */, - DE750DB81EB3DD4000A75E47 /* FIRAuthNotificationManagerTests.m */, - DE0E5BB91EA7D92E00FAA825 /* FIRVerifyClientRequestTest.m */, - DE0E5BBA1EA7D92E00FAA825 /* FIRVerifyClientResponseTests.m */, - DE0E5BB51EA7D91C00FAA825 /* FIRAuthAppCredentialTests.m */, - DE0E5BB61EA7D91C00FAA825 /* FIRAuthAppDelegateProxyTests.m */, - DECE03991E9ECFF500164CA4 /* FIRPhoneAuthProviderTests.m */, DE9314FB1E86C6FF0083EDBF /* FIRApp+FIRAuthUnitTests.h */, DE9315091E86C6FF0083EDBF /* FIRFakeBackendRPCIssuer.h */, DE9315231E86C6FF0083EDBF /* OCMStubRecorder+FIRAuthUnitTests.h */, DE9314FA1E86C6FF0083EDBF /* FIRAdditionalUserInfoTests.m */, DE9314FC1E86C6FF0083EDBF /* FIRApp+FIRAuthUnitTests.m */, + DE750DB51EB3DD4000A75E47 /* FIRAuthAPNSTokenManagerTests.m */, + DE750DB61EB3DD4000A75E47 /* FIRAuthAPNSTokenTests.m */, + DE750DB71EB3DD4000A75E47 /* FIRAuthAppCredentialManagerTests.m */, + DE0E5BB51EA7D91C00FAA825 /* FIRAuthAppCredentialTests.m */, + DE0E5BB61EA7D91C00FAA825 /* FIRAuthAppDelegateProxyTests.m */, DE9314FD1E86C6FF0083EDBF /* FIRAuthBackendCreateAuthURITests.m */, DE9314FE1E86C6FF0083EDBF /* FIRAuthBackendRPCImplementationTests.m */, DE9314FF1E86C6FF0083EDBF /* FIRAuthDispatcherTests.m */, DE9315001E86C6FF0083EDBF /* FIRAuthGlobalWorkQueueTests.m */, DE9315011E86C6FF0083EDBF /* FIRAuthKeychainTests.m */, + DE750DB81EB3DD4000A75E47 /* FIRAuthNotificationManagerTests.m */, DE9315021E86C6FF0083EDBF /* FIRAuthSerialTaskQueueTests.m */, DE9315031E86C6FF0083EDBF /* FIRAuthTests.m */, + 7E94853F1F578A9D005A3939 /* FIRAuthURLPresenterTests.m */, DE9315041E86C6FF0083EDBF /* FIRAuthUserDefaultsStorageTests.m */, DE9315051E86C6FF0083EDBF /* FIRCreateAuthURIRequestTests.m */, DE9315061E86C6FF0083EDBF /* FIRCreateAuthURIResponseTests.m */, @@ -1994,6 +2387,7 @@ D92C82C61F578DF000D5EAFF /* FIRGetProjectConfigRequestTests.m */, D92C82C51F578DF000D5EAFF /* FIRGetProjectConfigResponseTests.m */, DE93150F1E86C6FF0083EDBF /* FIRGitHubAuthProviderTests.m */, + DECE03991E9ECFF500164CA4 /* FIRPhoneAuthProviderTests.m */, DE9315111E86C6FF0083EDBF /* FIRResetPasswordRequestTests.m */, DE9315121E86C6FF0083EDBF /* FIRResetPasswordResponseTests.m */, DE9315131E86C6FF0083EDBF /* FIRSendVerificationCodeRequestTests.m */, @@ -2003,9 +2397,12 @@ DE9315171E86C6FF0083EDBF /* FIRSignUpNewUserRequestTests.m */, DE9315181E86C6FF0083EDBF /* FIRSignUpNewUserResponseTests.m */, DE9315191E86C6FF0083EDBF /* FIRTwitterAuthProviderTests.m */, + 7EFA2E031F71C93300DD354F /* FIRUserMetadataTests.m */, DE93151A1E86C6FF0083EDBF /* FIRUserTests.m */, DE93151B1E86C6FF0083EDBF /* FIRVerifyAssertionRequestTests.m */, DE93151C1E86C6FF0083EDBF /* FIRVerifyAssertionResponseTests.m */, + DE0E5BB91EA7D92E00FAA825 /* FIRVerifyClientRequestTest.m */, + DE0E5BBA1EA7D92E00FAA825 /* FIRVerifyClientResponseTests.m */, DE93151D1E86C6FF0083EDBF /* FIRVerifyCustomTokenRequestTests.m */, DE93151E1E86C6FF0083EDBF /* FIRVerifyCustomTokenResponseTests.m */, DE93151F1E86C6FF0083EDBF /* FIRVerifyPasswordRequestTest.m */, @@ -2014,7 +2411,6 @@ DE9315221E86C6FF0083EDBF /* FIRVerifyPhoneNumberResponseTests.m */, DE9315241E86C6FF0083EDBF /* OCMStubRecorder+FIRAuthUnitTests.m */, DE9315251E86C6FF0083EDBF /* Tests-Info.plist */, - 7EFA2E031F71C93300DD354F /* FIRUserMetadataTests.m */, ); path = Tests; sourceTree = ""; @@ -2058,6 +2454,36 @@ path = Tests; sourceTree = ""; }; + DEAAD3B31FBA1CD80053BF48 /* tvOS */ = { + isa = PBXGroup; + children = ( + DEAAD3D21FBA1F850053BF48 /* Main.storyboard */, + DEAAD3C61FBA1EF90053BF48 /* AppDelegate.h */, + DEAAD3C81FBA1EFA0053BF48 /* AppDelegate.m */, + DEAAD3C51FBA1EF90053BF48 /* Assets.xcassets */, + DEAAD3C41FBA1EF90053BF48 /* Info.plist */, + DEAAD3C71FBA1EF90053BF48 /* ViewController.h */, + DEAAD3C91FBA1EFA0053BF48 /* ViewController.m */, + DEAAD3BD1FBA1CD80053BF48 /* main.m */, + ); + path = tvOS; + sourceTree = ""; + }; + DEAAD4111FBA470A0053BF48 /* tvOS */ = { + isa = PBXGroup; + children = ( + DEAAD4121FBA470A0053BF48 /* AppDelegate.h */, + DEAAD4131FBA470A0053BF48 /* AppDelegate.m */, + DEAAD4141FBA470A0053BF48 /* Assets.xcassets */, + DEAAD4151FBA470A0053BF48 /* Info.plist */, + DEAAD4161FBA470A0053BF48 /* main.m */, + DEAAD4171FBA470A0053BF48 /* Main.storyboard */, + DEAAD4181FBA470A0053BF48 /* ViewController.h */, + DEAAD4191FBA470A0053BF48 /* ViewController.m */, + ); + path = tvOS; + sourceTree = ""; + }; DEB139B31E734D9D00AC236D /* Storage */ = { isa = PBXGroup; children = ( @@ -2080,6 +2506,7 @@ DEB61EB81E7C5DBB00C04B96 /* App */ = { isa = PBXGroup; children = ( + DEAAD4111FBA470A0053BF48 /* tvOS */, 069428801EC3B35A00F7BC69 /* 1mb.dat */, DEB61EC11E7C5DBB00C04B96 /* GoogleService-Info.plist */, D0EDB2BA1EDA041900B6C31B /* iOS */, @@ -2110,6 +2537,7 @@ DEE14D671E844677006FA992 /* App */ = { isa = PBXGroup; children = ( + DEAAD3B31FBA1CD80053BF48 /* tvOS */, DEE14D711E844677006FA992 /* GoogleService-Info.plist */, D0D857F71ED9ADAE002342D2 /* macOS */, D0D857F61ED9ADA8002342D2 /* iOS */, @@ -2140,13 +2568,13 @@ isa = PBXNativeTarget; buildConfigurationList = 06121EC51EC399C50008D70E /* Build configuration list for PBXNativeTarget "Storage_IntegrationTests_iOS" */; buildPhases = ( - C6DD8EA209B18D8651337E5A /* [CP] Check Pods Manifest.lock */, + F9006262CA0804846FE05F99 /* [CP] Check Pods Manifest.lock */, 06121EB81EC399C50008D70E /* Sources */, 06121EB91EC399C50008D70E /* Frameworks */, 06121EBA1EC399C50008D70E /* Resources */, D090053C1EDB334800154410 /* CopyFiles */, - D57035FA9DBD9B5C6F7E44BB /* [CP] Embed Pods Frameworks */, - E4CD99103647D7D03D05576E /* [CP] Copy Pods Resources */, + E6E7FCA58951222D1403093F /* [CP] Embed Pods Frameworks */, + BCFDF9E24063519540D27F43 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2162,13 +2590,13 @@ isa = PBXNativeTarget; buildConfigurationList = 0624F3E81EC0ECFA00E5940D /* Build configuration list for PBXNativeTarget "Database_IntegrationTests_iOS" */; buildPhases = ( - 964A6DD602ABD81ABDE945E1 /* [CP] Check Pods Manifest.lock */, + FC761FD2D605CBA0F9693A16 /* [CP] Check Pods Manifest.lock */, 0624F3DD1EC0ECFA00E5940D /* Sources */, 0624F3DE1EC0ECFA00E5940D /* Frameworks */, 0624F3DF1EC0ECFA00E5940D /* Resources */, D09005361EDB331700154410 /* CopyFiles */, - 2429BCE77F52A3CA917EBAD3 /* [CP] Embed Pods Frameworks */, - BC5C8E9DA5ECC9095376EEFC /* [CP] Copy Pods Resources */, + 396062F8EC21600F2A1A832A /* [CP] Embed Pods Frameworks */, + DF698E6810C50B85FC20ABCC /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2184,12 +2612,12 @@ isa = PBXNativeTarget; buildConfigurationList = AFD562F41EB13C6D00EA2233 /* Build configuration list for PBXNativeTarget "Messaging_Example_iOS" */; buildPhases = ( - 4F7410B194A68B6D9F9D1C23 /* [CP] Check Pods Manifest.lock */, + 6692936359478B80897B1771 /* [CP] Check Pods Manifest.lock */, AFD562E11EB13C6D00EA2233 /* Sources */, AFD562E21EB13C6D00EA2233 /* Frameworks */, AFD562E31EB13C6D00EA2233 /* Resources */, - E14B732B18AC2D43E964F013 /* [CP] Embed Pods Frameworks */, - CB265192F117EE5B7B6A90F3 /* [CP] Copy Pods Resources */, + CD18801A135756D44CE31E8C /* [CP] Embed Pods Frameworks */, + DA5D35B2E947885B7B9A8FCA /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2204,12 +2632,12 @@ isa = PBXNativeTarget; buildConfigurationList = D01853761EDAD084003A645C /* Build configuration list for PBXNativeTarget "Auth_Example_macOS" */; buildPhases = ( - BD09C44595A6ECBB8FA2350D /* [CP] Check Pods Manifest.lock */, + 88B701F1A289EED5913CB89F /* [CP] Check Pods Manifest.lock */, D01853691EDAD084003A645C /* Sources */, D018536D1EDAD084003A645C /* Frameworks */, D018536F1EDAD084003A645C /* Resources */, - 61ED313363F4BDC7657BD2EE /* [CP] Embed Pods Frameworks */, - 547E7E1564F7C15525BE1E84 /* [CP] Copy Pods Resources */, + 7AED28FFDB4538097571CAB0 /* [CP] Embed Pods Frameworks */, + A690931685428A81DB3D7318 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2224,12 +2652,12 @@ isa = PBXNativeTarget; buildConfigurationList = D01853C31EDAD364003A645C /* Build configuration list for PBXNativeTarget "Auth_Tests_macOS" */; buildPhases = ( - 38CF5DFC135922889EC15A84 /* [CP] Check Pods Manifest.lock */, + 61833A6B418B3CF211027415 /* [CP] Check Pods Manifest.lock */, D018538C1EDAD364003A645C /* Sources */, D01853BD1EDAD364003A645C /* Frameworks */, D01853C01EDAD364003A645C /* Resources */, - 2144CF65BA13A617A6510316 /* [CP] Embed Pods Frameworks */, - 68EBBBF8D47F1A4548F5F8A1 /* [CP] Copy Pods Resources */, + AD0431F92777A7C0529C761E /* [CP] Embed Pods Frameworks */, + D61AD5162C75965358E153F2 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2245,12 +2673,12 @@ isa = PBXNativeTarget; buildConfigurationList = D064E6A71ED9B1BF001956DF /* Build configuration list for PBXNativeTarget "Core_Example_macOS" */; buildPhases = ( - 1BC0F30C28D9EDC8E02C0412 /* [CP] Check Pods Manifest.lock */, + 0B68B6F63D8D76A56DFE38F3 /* [CP] Check Pods Manifest.lock */, D064E6921ED9B1BF001956DF /* Sources */, D064E6931ED9B1BF001956DF /* Frameworks */, D064E6941ED9B1BF001956DF /* Resources */, - 062EEAC29DE0575BF611178E /* [CP] Embed Pods Frameworks */, - 952D8E3BC2A768AF99B029D4 /* [CP] Copy Pods Resources */, + CCADF8C25FBA174357AEA0CE /* [CP] Embed Pods Frameworks */, + EB4045893AE0E69BB38780B1 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2265,12 +2693,12 @@ isa = PBXNativeTarget; buildConfigurationList = D064E6BC1ED9B31C001956DF /* Build configuration list for PBXNativeTarget "Core_Tests_macOS" */; buildPhases = ( - 24BCD9BFDB0623B2BA73098C /* [CP] Check Pods Manifest.lock */, + EDDC22912C046AB4349E45D5 /* [CP] Check Pods Manifest.lock */, D064E6AE1ED9B31C001956DF /* Sources */, D064E6B61ED9B31C001956DF /* Frameworks */, D064E6B91ED9B31C001956DF /* Resources */, - 7ADF89772D7C70DB74EF0384 /* [CP] Embed Pods Frameworks */, - FFAC5DC18B783B814EF2DAB5 /* [CP] Copy Pods Resources */, + A4A70B0E20C6A874C668B261 /* [CP] Embed Pods Frameworks */, + AE504E2BAD5B3581FC1898CA /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2286,12 +2714,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0EDB2CA1EDA04F800B6C31B /* Build configuration list for PBXNativeTarget "Storage_Example_macOS" */; buildPhases = ( - 00DF54E18B7F0C37010CF5C6 /* [CP] Check Pods Manifest.lock */, + C56FA5154BF616EA6F457108 /* [CP] Check Pods Manifest.lock */, D0EDB2BE1EDA04F800B6C31B /* Sources */, D0EDB2C21EDA04F800B6C31B /* Frameworks */, D0EDB2C41EDA04F800B6C31B /* Resources */, - E1EF4640668E42876CD0680B /* [CP] Embed Pods Frameworks */, - DE3BC872B0631D9222625218 /* [CP] Copy Pods Resources */, + FE4106FE85FE9310554CF15A /* [CP] Embed Pods Frameworks */, + 5D1C5017F0B7B68B15BDD714 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2306,12 +2734,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0EDB2F31EDA06CB00B6C31B /* Build configuration list for PBXNativeTarget "Storage_Tests_macOS" */; buildPhases = ( - 9F9A46A840E3517985F97BF7 /* [CP] Check Pods Manifest.lock */, + 8A0408EE425E76C47C98D3D3 /* [CP] Check Pods Manifest.lock */, D0EDB2E21EDA06CB00B6C31B /* Sources */, D0EDB2ED1EDA06CB00B6C31B /* Frameworks */, D0EDB2F01EDA06CB00B6C31B /* Resources */, - 13C0A425999DC1AFAAFA85A2 /* [CP] Embed Pods Frameworks */, - DC8467211F158C333D6E1851 /* [CP] Copy Pods Resources */, + 00C23492EFA7628C002D2287 /* [CP] Embed Pods Frameworks */, + F106DC91C54784AD9F5963D5 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2327,12 +2755,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0EDB3041EDA06D500B6C31B /* Build configuration list for PBXNativeTarget "Storage_IntegrationTests_macOS" */; buildPhases = ( - 80A283F697210020814F3349 /* [CP] Check Pods Manifest.lock */, + 36ECFC3EE140707B7C96FAFC /* [CP] Check Pods Manifest.lock */, D0EDB2FC1EDA06D500B6C31B /* Sources */, D0EDB2FE1EDA06D500B6C31B /* Frameworks */, D0EDB3011EDA06D500B6C31B /* Resources */, - 7EF78DCE613E776ECD9373C2 /* [CP] Embed Pods Frameworks */, - 8263B27A42441EB177C87183 /* [CP] Copy Pods Resources */, + C826D2B941653E5EEEBE569D /* [CP] Embed Pods Frameworks */, + 9F60468168975372B533A4DF /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2348,12 +2776,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0FE8A2C1ED9C804003F6722 /* Build configuration list for PBXNativeTarget "Database_Example_macOS" */; buildPhases = ( - 08057DD8B44996A54EB74007 /* [CP] Check Pods Manifest.lock */, + FCAE72CAEA7047E5BC17A115 /* [CP] Check Pods Manifest.lock */, D0FE8A201ED9C804003F6722 /* Sources */, D0FE8A241ED9C804003F6722 /* Frameworks */, D0FE8A261ED9C804003F6722 /* Resources */, - EBD8971C0B3B5BCDA5F5EA9F /* [CP] Embed Pods Frameworks */, - 89FC9C3CF79117EF07001272 /* [CP] Copy Pods Resources */, + 43F27469966E52E9FB44955E /* [CP] Embed Pods Frameworks */, + AFD8FCED83B8C2B69BC89591 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2368,12 +2796,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0FE8A5F1ED9C86F003F6722 /* Build configuration list for PBXNativeTarget "Database_Tests_macOS" */; buildPhases = ( - 83EC34B122E68BACA199C8BD /* [CP] Check Pods Manifest.lock */, + F58DF2B67102DFA67481CE7C /* [CP] Check Pods Manifest.lock */, D0FE8A351ED9C86F003F6722 /* Sources */, D0FE8A561ED9C86F003F6722 /* Frameworks */, D0FE8A591ED9C86F003F6722 /* Resources */, - B5D70414394DD066BE115ED8 /* [CP] Embed Pods Frameworks */, - 8AC1F8EDC83D64A46940EA1F /* [CP] Copy Pods Resources */, + BAB96787C60CED3387854011 /* [CP] Embed Pods Frameworks */, + ED383603B7B5D4C03055E2A7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2389,12 +2817,12 @@ isa = PBXNativeTarget; buildConfigurationList = D0FE8A891ED9C87B003F6722 /* Build configuration list for PBXNativeTarget "Database_IntegrationTests_macOS" */; buildPhases = ( - 1D62AD16C337F524407C8EBF /* [CP] Check Pods Manifest.lock */, + A276E28C6BE15473C08F46C7 /* [CP] Check Pods Manifest.lock */, D0FE8A681ED9C87B003F6722 /* Sources */, D0FE8A831ED9C87B003F6722 /* Frameworks */, D0FE8A861ED9C87B003F6722 /* Resources */, - 3261343A30C97057EDCB6749 /* [CP] Embed Pods Frameworks */, - 2D6499C61F0A16EE67985F35 /* [CP] Copy Pods Resources */, + 338DBAF509A5E9D092818DA2 /* [CP] Embed Pods Frameworks */, + 637BF15D486ACD0789DBBC68 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2406,16 +2834,77 @@ productReference = D0FE8A8C1ED9C87B003F6722 /* Database_IntegrationTests_macOS.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + DE1CD5961FBA55AF00FC031E /* Database_Example_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DE1CD5B61FBA55B000FC031E /* Build configuration list for PBXNativeTarget "Database_Example_tvOS" */; + buildPhases = ( + 86C0D3C6E5D05FBBCA3CE8BF /* [CP] Check Pods Manifest.lock */, + DE1CD5931FBA55AF00FC031E /* Sources */, + DE1CD5941FBA55AF00FC031E /* Frameworks */, + DE1CD5951FBA55AF00FC031E /* Resources */, + D424AD0375A67F11DDF83CBB /* [CP] Embed Pods Frameworks */, + B133AB611E38B0B6695DF763 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Database_Example_tvOS; + productName = Database_Example_tvOS; + productReference = DE1CD5971FBA55AF00FC031E /* Database_Example_tvOS.app */; + productType = "com.apple.product-type.application"; + }; + DE1EC27E1FBA5E63007D18D8 /* Database_Tests_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DE1EC2861FBA5E63007D18D8 /* Build configuration list for PBXNativeTarget "Database_Tests_tvOS" */; + buildPhases = ( + 7719F31E8BEEE94528B0B560 /* [CP] Check Pods Manifest.lock */, + DE1EC27B1FBA5E63007D18D8 /* Sources */, + DE1EC27C1FBA5E63007D18D8 /* Frameworks */, + DE1EC27D1FBA5E63007D18D8 /* Resources */, + 4AF5573D7DF12FD1D0C88A1A /* [CP] Embed Pods Frameworks */, + AFD2E6B7DB258E48009217D8 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + DE1EC2851FBA5E63007D18D8 /* PBXTargetDependency */, + ); + name = Database_Tests_tvOS; + productName = Database_Tests_tvOS; + productReference = DE1EC27F1FBA5E63007D18D8 /* Database_Tests_tvOS.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + DE1FAE8F1FBCF5E100897AAA /* Auth_Example_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DE1FAEAB1FBCF5E200897AAA /* Build configuration list for PBXNativeTarget "Auth_Example_tvOS" */; + buildPhases = ( + 2B2A8711B6CC7353ECA108F0 /* [CP] Check Pods Manifest.lock */, + DE1FAE8C1FBCF5E100897AAA /* Sources */, + DE1FAE8D1FBCF5E100897AAA /* Frameworks */, + DE1FAE8E1FBCF5E100897AAA /* Resources */, + F047DE7DFD8E3EFA65677278 /* [CP] Embed Pods Frameworks */, + 9CE7A87FC2C9C68B0C58E63B /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Auth_Example_tvOS; + productName = Auth_Example_tvOS; + productReference = DE1FAE901FBCF5E100897AAA /* Auth_Example_tvOS.app */; + productType = "com.apple.product-type.application"; + }; DE26D22D1F70398A004AE1D3 /* Auth_Sample */ = { isa = PBXNativeTarget; buildConfigurationList = DE26D2411F70398A004AE1D3 /* Build configuration list for PBXNativeTarget "Auth_Sample" */; buildPhases = ( - 2F058EA64448194D0606AF43 /* [CP] Check Pods Manifest.lock */, + C24F5282192B81B6A39BAEB8 /* [CP] Check Pods Manifest.lock */, DE26D22A1F70398A004AE1D3 /* Sources */, DE26D22B1F70398A004AE1D3 /* Frameworks */, DE26D22C1F70398A004AE1D3 /* Resources */, - C4CB228F9FBF834637FDD550 /* [CP] Embed Pods Frameworks */, - 7C60623F83982B8C98AD8A03 /* [CP] Copy Pods Resources */, + 08957B7A79C276AF1C031ED1 /* [CP] Embed Pods Frameworks */, + 6A17F5D59D7B838BFBBFAE93 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2430,12 +2919,12 @@ isa = PBXNativeTarget; buildConfigurationList = DE26D2641F7049F1004AE1D3 /* Build configuration list for PBXNativeTarget "Auth_ApiTests" */; buildPhases = ( - 94DE13FC01F4BCC0A3AA92B8 /* [CP] Check Pods Manifest.lock */, + 9CAEF4F03D2C87AED96E87B8 /* [CP] Check Pods Manifest.lock */, DE26D2591F7049F1004AE1D3 /* Sources */, DE26D25A1F7049F1004AE1D3 /* Frameworks */, DE26D25B1F7049F1004AE1D3 /* Resources */, - 3EC098CF0777B0916DAB8AE7 /* [CP] Embed Pods Frameworks */, - 418D23667D638E23FC6765B0 /* [CP] Copy Pods Resources */, + DF29C4F0F86D60F7FEE583F8 /* [CP] Embed Pods Frameworks */, + 118E42BDF843B8E5AFF716A0 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2451,12 +2940,12 @@ isa = PBXNativeTarget; buildConfigurationList = DE26D2741F705C35004AE1D3 /* Build configuration list for PBXNativeTarget "Auth_EarlGreyTests" */; buildPhases = ( - B6C7305ECEA2DA69869E3199 /* [CP] Check Pods Manifest.lock */, + B6EF8098F3C4BB08D7BED9D8 /* [CP] Check Pods Manifest.lock */, DE26D2691F705C35004AE1D3 /* Sources */, DE26D26A1F705C35004AE1D3 /* Frameworks */, DE26D26B1F705C35004AE1D3 /* Resources */, - F5B5EF87DFA0131455579138 /* [CP] Embed Pods Frameworks */, - EB62267583A8460DAF576DF9 /* [CP] Copy Pods Resources */, + 1611FB715EC5341B0397BD41 /* [CP] Embed Pods Frameworks */, + 08648163FCEA26546E5E8E35 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2472,12 +2961,12 @@ isa = PBXNativeTarget; buildConfigurationList = DE26D28C1F705EC7004AE1D3 /* Build configuration list for PBXNativeTarget "Auth_SwiftSample" */; buildPhases = ( - 2A3CED73D6CF971623B65B11 /* [CP] Check Pods Manifest.lock */, + C85C84FF7518F64284384825 /* [CP] Check Pods Manifest.lock */, DE26D2791F705EC7004AE1D3 /* Sources */, DE26D27A1F705EC7004AE1D3 /* Frameworks */, DE26D27B1F705EC7004AE1D3 /* Resources */, - A397E143BFA2B54BBA78DB27 /* [CP] Embed Pods Frameworks */, - DC71E8C018300A993E541683 /* [CP] Copy Pods Resources */, + 8B622E883C1CC4C26C0BB9A9 /* [CP] Embed Pods Frameworks */, + 2F08B0B91519AEB1E81960AB /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2488,16 +2977,37 @@ productReference = DE26D27D1F705EC7004AE1D3 /* SwiftSample.app */; productType = "com.apple.product-type.application"; }; + DE53893D1FBB62E100199FC2 /* Auth_Tests_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DE5389491FBB62E100199FC2 /* Build configuration list for PBXNativeTarget "Auth_Tests_tvOS" */; + buildPhases = ( + 6A332C7CB67CF7FF26296EF9 /* [CP] Check Pods Manifest.lock */, + DE53893A1FBB62E100199FC2 /* Sources */, + DE53893B1FBB62E100199FC2 /* Frameworks */, + DE53893C1FBB62E100199FC2 /* Resources */, + 94E5426439D34EF38E3A1C61 /* [CP] Embed Pods Frameworks */, + 2B9C5A21D0CCD50D254D6CFE /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + DE1E3B311FEB1E7600EAEBB0 /* PBXTargetDependency */, + ); + name = Auth_Tests_tvOS; + productName = Auth_Example_tvOSTests; + productReference = DE53893E1FBB62E100199FC2 /* Auth_Tests_tvOS.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; DE7B8D041E8EF077009EB6DF /* Database_Example_iOS */ = { isa = PBXNativeTarget; buildConfigurationList = DE7B8D281E8EF078009EB6DF /* Build configuration list for PBXNativeTarget "Database_Example_iOS" */; buildPhases = ( - 4B926E79AD9E0016DDA7FBF8 /* [CP] Check Pods Manifest.lock */, + EF45D0D217BDEA5CEB66E5C2 /* [CP] Check Pods Manifest.lock */, DE7B8D011E8EF077009EB6DF /* Sources */, DE7B8D021E8EF077009EB6DF /* Frameworks */, DE7B8D031E8EF077009EB6DF /* Resources */, - 7F7E65CEFB1C184D69448404 /* [CP] Embed Pods Frameworks */, - B5724E5E5CB63BD5B738C4F6 /* [CP] Copy Pods Resources */, + 120796D59D14DFEBCB083458 /* [CP] Embed Pods Frameworks */, + BFCC067E4DA198D538DC3FDF /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2512,13 +3022,13 @@ isa = PBXNativeTarget; buildConfigurationList = DE7B8D291E8EF078009EB6DF /* Build configuration list for PBXNativeTarget "Database_Tests_iOS" */; buildPhases = ( - FF06F317B2790040C6157248 /* [CP] Check Pods Manifest.lock */, + 28757E7372E5CA218910628A /* [CP] Check Pods Manifest.lock */, DE7B8D191E8EF078009EB6DF /* Sources */, DE7B8D1A1E8EF078009EB6DF /* Frameworks */, DE7B8D1B1E8EF078009EB6DF /* Resources */, D09005341EDB330800154410 /* CopyFiles */, - 2F2E08FC97C14E7EDDB8D804 /* [CP] Embed Pods Frameworks */, - 91ED54292706C89DEAF738F0 /* [CP] Copy Pods Resources */, + ADB10E4C6A62992C15EE9BB4 /* [CP] Embed Pods Frameworks */, + 348348A57D424FA907702088 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2534,12 +3044,12 @@ isa = PBXNativeTarget; buildConfigurationList = DE9314E91E86C6BE0083EDBF /* Build configuration list for PBXNativeTarget "Auth_Example_iOS" */; buildPhases = ( - 2BE22FBF4B4647B6AF2A58D2 /* [CP] Check Pods Manifest.lock */, + 65E833A6A4000F0B79837D3D /* [CP] Check Pods Manifest.lock */, DE9314C21E86C6BD0083EDBF /* Sources */, DE9314C31E86C6BD0083EDBF /* Frameworks */, DE9314C41E86C6BD0083EDBF /* Resources */, - C0BB541B4E2E4188148B74BF /* [CP] Embed Pods Frameworks */, - 3F2AF12006B4163F0BCBD5E2 /* [CP] Copy Pods Resources */, + 17495ED3CB98F3496DADEE40 /* [CP] Embed Pods Frameworks */, + 55A9CDE9471333A1DEEC2DC6 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2554,13 +3064,13 @@ isa = PBXNativeTarget; buildConfigurationList = DE9314EA1E86C6BE0083EDBF /* Build configuration list for PBXNativeTarget "Auth_Tests_iOS" */; buildPhases = ( - C981CB657374F18444683DDE /* [CP] Check Pods Manifest.lock */, + 17A106649075278BE816501D /* [CP] Check Pods Manifest.lock */, DE9314DA1E86C6BE0083EDBF /* Sources */, DE9314DB1E86C6BE0083EDBF /* Frameworks */, DE9314DC1E86C6BE0083EDBF /* Resources */, D090052F1EDB32B700154410 /* CopyFiles */, - 8489BA940D280D954CF784DF /* [CP] Embed Pods Frameworks */, - 194262A69E6C961D8D1888EB /* [CP] Copy Pods Resources */, + C70080AEF1AD5B5BB73542BF /* [CP] Embed Pods Frameworks */, + 3E73D0EE3702B20C522EB737 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2576,13 +3086,13 @@ isa = PBXNativeTarget; buildConfigurationList = DE9315B31E8738460083EDBF /* Build configuration list for PBXNativeTarget "Messaging_Tests_iOS" */; buildPhases = ( - 310F0C6DEC04131DD5D31B3C /* [CP] Check Pods Manifest.lock */, + 273510C286ECD5E359B6159E /* [CP] Check Pods Manifest.lock */, DE9315A31E8738460083EDBF /* Sources */, DE9315A41E8738460083EDBF /* Frameworks */, DE9315A51E8738460083EDBF /* Resources */, D09005381EDB333700154410 /* CopyFiles */, - D736CA94F00AB417403CEC0D /* [CP] Embed Pods Frameworks */, - 55298685299C7889EDDFF818 /* [CP] Copy Pods Resources */, + 997D0D4345B2BFC675DD3992 /* [CP] Embed Pods Frameworks */, + 96AC317066A0285BEC8B0E20 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2594,16 +3104,98 @@ productReference = DE9315A71E8738460083EDBF /* Messaging_Tests_iOS.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + DEAAD3801FBA11270053BF48 /* Core_Example_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DEAAD3A01FBA11280053BF48 /* Build configuration list for PBXNativeTarget "Core_Example_tvOS" */; + buildPhases = ( + CFD020C48DD8D50E846F5F60 /* [CP] Check Pods Manifest.lock */, + DEAAD37D1FBA11270053BF48 /* Sources */, + DEAAD37E1FBA11270053BF48 /* Frameworks */, + DEAAD37F1FBA11270053BF48 /* Resources */, + 500A4C39D7949908D7E96FE6 /* [CP] Embed Pods Frameworks */, + C543D8A8F6950A4301C0D644 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Core_Example_tvOS; + productName = Core_Example_tvOS; + productReference = DEAAD3811FBA11270053BF48 /* Core_Example_tvOS.app */; + productType = "com.apple.product-type.application"; + }; + DEAAD3941FBA11270053BF48 /* Core_Tests_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DEAAD3A11FBA11280053BF48 /* Build configuration list for PBXNativeTarget "Core_Tests_tvOS" */; + buildPhases = ( + 955CEE0E05C6781D75206EE4 /* [CP] Check Pods Manifest.lock */, + DEAAD3911FBA11270053BF48 /* Sources */, + DEAAD3921FBA11270053BF48 /* Frameworks */, + DEAAD3931FBA11270053BF48 /* Resources */, + 45C79B78C5B731142D5E1AC1 /* [CP] Embed Pods Frameworks */, + 6EC13D506E425EB20A7843D8 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + DEAAD3971FBA11280053BF48 /* PBXTargetDependency */, + ); + name = Core_Tests_tvOS; + productName = Core_Example_tvOSTests; + productReference = DEAAD3951FBA11270053BF48 /* Core_Tests_tvOS.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + DEAAD3E01FBA46AA0053BF48 /* Storage_Example_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DEAAD4001FBA46AB0053BF48 /* Build configuration list for PBXNativeTarget "Storage_Example_tvOS" */; + buildPhases = ( + 8E51FDDF5CDC6B3B42AE8735 /* [CP] Check Pods Manifest.lock */, + DEAAD3DD1FBA46AA0053BF48 /* Sources */, + DEAAD3DE1FBA46AA0053BF48 /* Frameworks */, + DEAAD3DF1FBA46AA0053BF48 /* Resources */, + 35E3827DC5E63EE2D7302B65 /* [CP] Embed Pods Frameworks */, + A6DC1E378B43295245C5C1DA /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Storage_Example_tvOS; + productName = Storage_Example_tvOS; + productReference = DEAAD3E11FBA46AA0053BF48 /* Storage_Example_tvOS.app */; + productType = "com.apple.product-type.application"; + }; + DEAAD3F41FBA46AB0053BF48 /* Storage_Tests_tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DEAAD4011FBA46AB0053BF48 /* Build configuration list for PBXNativeTarget "Storage_Tests_tvOS" */; + buildPhases = ( + 40E50B2EBCE9B3E3B5E68B93 /* [CP] Check Pods Manifest.lock */, + DEAAD3F11FBA46AB0053BF48 /* Sources */, + DEAAD3F21FBA46AB0053BF48 /* Frameworks */, + DEAAD3F31FBA46AB0053BF48 /* Resources */, + 222F97AB71B243C0E8C1680C /* [CP] Embed Pods Frameworks */, + 76D01041B075D88EC92B58BC /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + DEAAD3F71FBA46AB0053BF48 /* PBXTargetDependency */, + ); + name = Storage_Tests_tvOS; + productName = Storage_Example_tvOSTests; + productReference = DEAAD3F51FBA46AB0053BF48 /* Storage_Tests_tvOS.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; DEB139E01E73506A00AC236D /* Storage_Example_iOS */ = { isa = PBXNativeTarget; buildConfigurationList = DEB13A051E73506A00AC236D /* Build configuration list for PBXNativeTarget "Storage_Example_iOS" */; buildPhases = ( - 0045465B164896D3C570A79A /* [CP] Check Pods Manifest.lock */, + 6412AADCC147925DABCBB905 /* [CP] Check Pods Manifest.lock */, DEB139E21E73506A00AC236D /* Sources */, DEB139F31E73506A00AC236D /* Frameworks */, DEB139F91E73506A00AC236D /* Resources */, - 9DDF848892C1B2DCE343D139 /* [CP] Embed Pods Frameworks */, - 776FB063FB216F38E91EC8A1 /* [CP] Copy Pods Resources */, + E24428AEED98846FAEE3A892 /* [CP] Embed Pods Frameworks */, + 93AB0EF8AA5A4C48546D60A7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2618,13 +3210,13 @@ isa = PBXNativeTarget; buildConfigurationList = DEB13A201E73507E00AC236D /* Build configuration list for PBXNativeTarget "Storage_Tests_iOS" */; buildPhases = ( - C0894681AFF0FF07CE891310 /* [CP] Check Pods Manifest.lock */, + 22CEBCEDBAD96E384B598C36 /* [CP] Check Pods Manifest.lock */, DEB13A0E1E73507E00AC236D /* Sources */, DEB13A161E73507E00AC236D /* Frameworks */, DEB13A1D1E73507E00AC236D /* Resources */, D090053A1EDB334000154410 /* CopyFiles */, - 5355975898496CD7FF7DD106 /* [CP] Embed Pods Frameworks */, - B57C4BF2A720187D5DF4C848 /* [CP] Copy Pods Resources */, + 436A2DE8B1C36C53FCED6019 /* [CP] Embed Pods Frameworks */, + 267B6FB90F537E2C78FA1629 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2640,12 +3232,12 @@ isa = PBXNativeTarget; buildConfigurationList = DEDFEFF51FD1B8C100F7D466 /* Build configuration list for PBXNativeTarget "Analytics_Tests_iOS" */; buildPhases = ( - E3A92F1E7F7F65ACF2BCEC78 /* [CP] Check Pods Manifest.lock */, + 9C3034A423FA21B0E3500BF9 /* [CP] Check Pods Manifest.lock */, DEDFEFE81FD1B8C100F7D466 /* Sources */, DEDFEFE91FD1B8C100F7D466 /* Frameworks */, DEDFEFEA1FD1B8C100F7D466 /* Resources */, - DC31836CBCE7DE03EC932511 /* [CP] Embed Pods Frameworks */, - D293C865CA6C9CFE510F2030 /* [CP] Copy Pods Resources */, + 257DF49B2BF041A67ECC0C49 /* [CP] Embed Pods Frameworks */, + A127C8A6500F782E73C0851A /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2661,12 +3253,12 @@ isa = PBXNativeTarget; buildConfigurationList = DEE14D641E84464D006FA992 /* Build configuration list for PBXNativeTarget "Core_Example_iOS" */; buildPhases = ( - 6F3682326BA63694ECB240A3 /* [CP] Check Pods Manifest.lock */, + 5DCF8D9FF3A9EFDF5BC1783E /* [CP] Check Pods Manifest.lock */, DEE14D3D1E84464D006FA992 /* Sources */, DEE14D3E1E84464D006FA992 /* Frameworks */, DEE14D3F1E84464D006FA992 /* Resources */, - 4AA54CBB8303130FC18C1A27 /* [CP] Embed Pods Frameworks */, - BD7302A2861F068F5540CCA6 /* [CP] Copy Pods Resources */, + D0A888D2C36723C55F2BDC0C /* [CP] Embed Pods Frameworks */, + 066FF207F29FD1E125CDCA9B /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2681,13 +3273,13 @@ isa = PBXNativeTarget; buildConfigurationList = DEE14D651E84464D006FA992 /* Build configuration list for PBXNativeTarget "Core_Tests_iOS" */; buildPhases = ( - E4708A6EB45D6F7D30070DCF /* [CP] Check Pods Manifest.lock */, + 8DB662ACD739CD47CFC7C093 /* [CP] Check Pods Manifest.lock */, DEE14D551E84464D006FA992 /* Sources */, DEE14D561E84464D006FA992 /* Frameworks */, DEE14D571E84464D006FA992 /* Resources */, D09005321EDB32EA00154410 /* CopyFiles */, - DBE97573DB393D723CD8CDA2 /* [CP] Embed Pods Frameworks */, - FFBE661125B41DE1A5B115C3 /* [CP] Copy Pods Resources */, + C97E0BBB635D9C80C5C62D74 /* [CP] Embed Pods Frameworks */, + 489E82E20508C1E1BF91E7B4 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -2773,6 +3365,22 @@ D0FE8A641ED9C87B003F6722 = { TestTargetID = D0FE8A1E1ED9C804003F6722; }; + DE1CD5961FBA55AF00FC031E = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + }; + DE1EC27E1FBA5E63007D18D8 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + TestTargetID = DE1CD5961FBA55AF00FC031E; + }; + DE1FAE8F1FBCF5E100897AAA = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + }; DE26D22D1F70398A004AE1D3 = { CreatedOnToolsVersion = 9.0; DevelopmentTeam = EQHXZ8M8AV; @@ -2810,12 +3418,23 @@ DevelopmentTeam = EQHXZ8M8AV; ProvisioningStyle = Automatic; }; - DE7B8D041E8EF077009EB6DF = { - CreatedOnToolsVersion = 8.3; + DE53893D1FBB62E100199FC2 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; ProvisioningStyle = Automatic; + TestTargetID = DE5389291FBB62E100199FC2; }; - DE7B8D1C1E8EF078009EB6DF = { - CreatedOnToolsVersion = 8.3; + DE545C7F1FBCA3F000C637AE = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + }; + DE7B8D041E8EF077009EB6DF = { + CreatedOnToolsVersion = 8.3; + ProvisioningStyle = Automatic; + }; + DE7B8D1C1E8EF078009EB6DF = { + CreatedOnToolsVersion = 8.3; ProvisioningStyle = Automatic; TestTargetID = DE7B8D041E8EF077009EB6DF; }; @@ -2834,14 +3453,34 @@ ProvisioningStyle = Automatic; TestTargetID = AFD562E41EB13C6D00EA2233; }; + DEAAD3801FBA11270053BF48 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + }; + DEAAD3941FBA11270053BF48 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + TestTargetID = DEAAD3801FBA11270053BF48; + }; + DEAAD3E01FBA46AA0053BF48 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + }; + DEAAD3F41FBA46AB0053BF48 = { + CreatedOnToolsVersion = 9.1; + DevelopmentTeam = EQHXZ8M8AV; + ProvisioningStyle = Automatic; + TestTargetID = DEAAD3E01FBA46AA0053BF48; + }; DEB13A0A1E73507E00AC236D = { TestTargetID = DEB139E01E73506A00AC236D; }; DEDFEFEB1FD1B8C100F7D466 = { - CreatedOnToolsVersion = 9.1; DevelopmentTeam = EQHXZ8M8AV; ProvisioningStyle = Automatic; - TestTargetID = DEE14D401E84464D006FA992; }; DEE14D401E84464D006FA992 = { CreatedOnToolsVersion = 8.2.1; @@ -2875,20 +3514,27 @@ DE9314DD1E86C6BE0083EDBF /* Auth_Tests_iOS */, D01853671EDAD084003A645C /* Auth_Example_macOS */, D01853881EDAD364003A645C /* Auth_Tests_macOS */, + DE1FAE8F1FBCF5E100897AAA /* Auth_Example_tvOS */, + DE53893D1FBB62E100199FC2 /* Auth_Tests_tvOS */, DE26D22D1F70398A004AE1D3 /* Auth_Sample */, DE26D27C1F705EC7004AE1D3 /* Auth_SwiftSample */, DE26D25C1F7049F1004AE1D3 /* Auth_ApiTests */, DE26D26C1F705C35004AE1D3 /* Auth_EarlGreyTests */, + DE26D2971F70668F004AE1D3 /* Auth_AllTests */, DEE14D401E84464D006FA992 /* Core_Example_iOS */, DEE14D581E84464D006FA992 /* Core_Tests_iOS */, D064E6951ED9B1BF001956DF /* Core_Example_macOS */, D064E6AA1ED9B31C001956DF /* Core_Tests_macOS */, + DEAAD3801FBA11270053BF48 /* Core_Example_tvOS */, + DEAAD3941FBA11270053BF48 /* Core_Tests_tvOS */, DE7B8D041E8EF077009EB6DF /* Database_Example_iOS */, DE7B8D1C1E8EF078009EB6DF /* Database_Tests_iOS */, 0624F3E01EC0ECFA00E5940D /* Database_IntegrationTests_iOS */, D0FE8A1E1ED9C804003F6722 /* Database_Example_macOS */, D0FE8A311ED9C86F003F6722 /* Database_Tests_macOS */, D0FE8A641ED9C87B003F6722 /* Database_IntegrationTests_macOS */, + DE1CD5961FBA55AF00FC031E /* Database_Example_tvOS */, + DE1EC27E1FBA5E63007D18D8 /* Database_Tests_tvOS */, AFD562E41EB13C6D00EA2233 /* Messaging_Example_iOS */, DE9315A61E8738460083EDBF /* Messaging_Tests_iOS */, DEB139E01E73506A00AC236D /* Storage_Example_iOS */, @@ -2898,9 +3544,11 @@ D0EDB2DE1EDA06CB00B6C31B /* Storage_Tests_macOS */, D0EDB2F81EDA06D500B6C31B /* Storage_IntegrationTests_macOS */, DEDFEFEB1FD1B8C100F7D466 /* Analytics_Tests_iOS */, + DEAAD3E01FBA46AA0053BF48 /* Storage_Example_tvOS */, + DEAAD3F41FBA46AB0053BF48 /* Storage_Tests_tvOS */, DE3373891E73773400881891 /* AllUnitTests_iOS */, D0FE8A041ED9C32C003F6722 /* AllUnitTests_macOS */, - DE26D2971F70668F004AE1D3 /* Auth_AllTests */, + DE545C7F1FBCA3F000C637AE /* AllUnitTests_tvOS */, ); }; /* End PBXProject section */ @@ -3017,6 +3665,35 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DE1CD5951FBA55AF00FC031E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE1EC2961FBA5EB5007D18D8 /* Main.storyboard in Resources */, + DE9037291FBA5F2400E239D3 /* GoogleService-Info.plist in Resources */, + DE1EC2931FBA5EB5007D18D8 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1EC27D1FBA5E63007D18D8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE90374D1FBA70E400E239D3 /* syncPointSpec.json in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1FAE8E1FBCF5E100897AAA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE1FAEB41FBCF60D00897AAA /* Info.plist in Resources */, + DE1FAEB71FBCF6CA00897AAA /* GoogleService-Info.plist in Resources */, + DE1FAEB51FBCF60D00897AAA /* Main.storyboard in Resources */, + DE1FAEB61FBCF60D00897AAA /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DE26D22C1F70398A004AE1D3 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -3057,6 +3734,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DE53893C1FBB62E100199FC2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; DE7B8D031E8EF077009EB6DF /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -3105,6 +3789,41 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DEAAD37F1FBA11270053BF48 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD3CE1FBA1EFA0053BF48 /* Assets.xcassets in Resources */, + DEAAD3DC1FBA36210053BF48 /* GoogleService-Info.plist in Resources */, + DEAAD3D41FBA20480053BF48 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3931FBA11270053BF48 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3DF1FBA46AA0053BF48 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD4201FBA47110053BF48 /* 1mb.dat in Resources */, + DEAAD4211FBA49D10053BF48 /* GoogleService-Info.plist in Resources */, + DEAAD41E1FBA470B0053BF48 /* Main.storyboard in Resources */, + DEAAD41B1FBA470B0053BF48 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3F31FBA46AB0053BF48 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; DEB139F91E73506A00AC236D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -3152,97 +3871,103 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0045465B164896D3C570A79A /* [CP] Check Pods Manifest.lock */ = { + 00C23492EFA7628C002D2287 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Storage_Example_iOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 00DF54E18B7F0C37010CF5C6 /* [CP] Check Pods Manifest.lock */ = { + 066FF207F29FD1E125CDCA9B /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Storage_Example_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 062EEAC29DE0575BF611178E /* [CP] Embed Pods Frameworks */ = { + 08648163FCEA26546E5E8E35 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 08057DD8B44996A54EB74007 /* [CP] Check Pods Manifest.lock */ = { + 08957B7A79C276AF1C031ED1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-be8a5251/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher.default-Core/GTMSessionFetcher.framework", + "${BUILT_PRODUCTS_DIR}/Bolts/Bolts.framework", + "${BUILT_PRODUCTS_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework", + "${BUILT_PRODUCTS_DIR}/FBSDKLoginKit/FBSDKLoginKit.framework", + "${BUILT_PRODUCTS_DIR}/GTMOAuth2/GTMOAuth2.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_Example_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Bolts.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKLoginKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMOAuth2.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 13C0A425999DC1AFAAFA85A2 /* [CP] Embed Pods Frameworks */ = { + 0B68B6F63D8D76A56DFE38F3 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "$(DERIVED_FILE_DIR)/Pods-Core_Example_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 194262A69E6C961D8D1888EB /* [CP] Copy Pods Resources */ = { + 118E42BDF843B8E5AFF716A0 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3254,100 +3979,108 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 1BC0F30C28D9EDC8E02C0412 /* [CP] Check Pods Manifest.lock */ = { + 120796D59D14DFEBCB083458 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${BUILT_PRODUCTS_DIR}/leveldb-library-iOS/leveldb.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Core_Example_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 1D62AD16C337F524407C8EBF /* [CP] Check Pods Manifest.lock */ = { + 1611FB715EC5341B0397BD41 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-frameworks.sh", + "${PODS_ROOT}/EarlGrey/EarlGrey/EarlGrey.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_IntegrationTests_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/EarlGrey.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2144CF65BA13A617A6510316 /* [CP] Embed Pods Frameworks */ = { + 17495ED3CB98F3496DADEE40 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-be8a5251/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-iOS/GTMSessionFetcher.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2429BCE77F52A3CA917EBAD3 /* [CP] Embed Pods Frameworks */ = { + 17A106649075278BE816501D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "$(DERIVED_FILE_DIR)/Pods-Auth_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 24BCD9BFDB0623B2BA73098C /* [CP] Check Pods Manifest.lock */ = { + 222F97AB71B243C0E8C1680C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_tvOS/Pods-Storage_Tests_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-tvOS/OCMock.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Core_Tests_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_tvOS/Pods-Storage_Tests_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2A3CED73D6CF971623B65B11 /* [CP] Check Pods Manifest.lock */ = { + 22CEBCEDBAD96E384B598C36 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3358,32 +4091,34 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_SwiftSample-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Storage_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 2BE22FBF4B4647B6AF2A58D2 /* [CP] Check Pods Manifest.lock */ = { + 257DF49B2BF041A67ECC0C49 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_Example_iOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 2D6499C61F0A16EE67985F35 /* [CP] Copy Pods Resources */ = { + 267B6FB90F537E2C78FA1629 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3395,10 +4130,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 2F058EA64448194D0606AF43 /* [CP] Check Pods Manifest.lock */ = { + 273510C286ECD5E359B6159E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3409,32 +4144,32 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_Sample-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Messaging_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 2F2E08FC97C14E7EDDB8D804 /* [CP] Embed Pods Frameworks */ = { + 28757E7372E5CA218910628A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "$(DERIVED_FILE_DIR)/Pods-Database_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 310F0C6DEC04131DD5D31B3C /* [CP] Check Pods Manifest.lock */ = { + 2B2A8711B6CC7353ECA108F0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3445,65 +4180,65 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Messaging_Tests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Auth_Example_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3261343A30C97057EDCB6749 /* [CP] Embed Pods Frameworks */ = { + 2B9C5A21D0CCD50D254D6CFE /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_tvOS/Pods-Auth_Tests_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 38CF5DFC135922889EC15A84 /* [CP] Check Pods Manifest.lock */ = { + 2F08B0B91519AEB1E81960AB /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample-resources.sh", + "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_Tests_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 3EC098CF0777B0916DAB8AE7 /* [CP] Embed Pods Frameworks */ = { + 338DBAF509A5E9D092818DA2 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 3F2AF12006B4163F0BCBD5E2 /* [CP] Copy Pods Resources */ = { + 348348A57D424FA907702088 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3515,63 +4250,81 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 418D23667D638E23FC6765B0 /* [CP] Copy Pods Resources */ = { + 35E3827DC5E63EE2D7302B65 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_tvOS/Pods-Storage_Example_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-tvOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-tvOS/GTMSessionFetcher.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_tvOS/Pods-Storage_Example_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 4AA54CBB8303130FC18C1A27 /* [CP] Embed Pods Frameworks */ = { + 36ECFC3EE140707B7C96FAFC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "$(DERIVED_FILE_DIR)/Pods-Storage_IntegrationTests_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 4B926E79AD9E0016DDA7FBF8 /* [CP] Check Pods Manifest.lock */ = { + 396062F8EC21600F2A1A832A /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_Example_iOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3E73D0EE3702B20C522EB737 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 4F7410B194A68B6D9F9D1C23 /* [CP] Check Pods Manifest.lock */ = { + 40E50B2EBCE9B3E3B5E68B93 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3582,14 +4335,14 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Messaging_Example_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Storage_Tests_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 5355975898496CD7FF7DD106 /* [CP] Embed Pods Frameworks */ = { + 436A2DE8B1C36C53FCED6019 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3607,90 +4360,96 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 547E7E1564F7C15525BE1E84 /* [CP] Copy Pods Resources */ = { + 43F27469966E52E9FB44955E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/leveldb-library-macOS/leveldb.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 55298685299C7889EDDFF818 /* [CP] Copy Pods Resources */ = { + 45C79B78C5B731142D5E1AC1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_tvOS/Pods-Core_Tests_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-tvOS/OCMock.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_tvOS/Pods-Core_Tests_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 61ED313363F4BDC7657BD2EE /* [CP] Embed Pods Frameworks */ = { + 489E82E20508C1E1BF91E7B4 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-465fce74/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-macOS/GTMSessionFetcher.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 68EBBBF8D47F1A4548F5F8A1 /* [CP] Copy Pods Resources */ = { + 4AF5573D7DF12FD1D0C88A1A /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_tvOS/Pods-Database_Tests_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-tvOS/OCMock.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_tvOS/Pods-Database_Tests_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 6F3682326BA63694ECB240A3 /* [CP] Check Pods Manifest.lock */ = { + 500A4C39D7949908D7E96FE6 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_tvOS/Pods-Core_Example_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-tvOS/GoogleToolboxForMac.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Core_Example_iOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_tvOS/Pods-Core_Example_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 776FB063FB216F38E91EC8A1 /* [CP] Copy Pods Resources */ = { + 55A9CDE9471333A1DEEC2DC6 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3702,86 +4461,76 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 7ADF89772D7C70DB74EF0384 /* [CP] Embed Pods Frameworks */ = { + 5D1C5017F0B7B68B15BDD714 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 7C60623F83982B8C98AD8A03 /* [CP] Copy Pods Resources */ = { + 5DCF8D9FF3A9EFDF5BC1783E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-resources.sh", - "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", + "$(DERIVED_FILE_DIR)/Pods-Core_Example_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7EF78DCE613E776ECD9373C2 /* [CP] Embed Pods Frameworks */ = { + 61833A6B418B3CF211027415 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "$(DERIVED_FILE_DIR)/Pods-Auth_Tests_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7F7E65CEFB1C184D69448404 /* [CP] Embed Pods Frameworks */ = { + 637BF15D486ACD0789DBBC68 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/leveldb-library-iOS/leveldb.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_macOS/Pods-Database_IntegrationTests_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 80A283F697210020814F3349 /* [CP] Check Pods Manifest.lock */ = { + 6412AADCC147925DABCBB905 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3792,29 +4541,32 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Storage_IntegrationTests_macOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Storage_Example_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 8263B27A42441EB177C87183 /* [CP] Copy Pods Resources */ = { + 65E833A6A4000F0B79837D3D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Auth_Example_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 83EC34B122E68BACA199C8BD /* [CP] Check Pods Manifest.lock */ = { + 6692936359478B80897B1771 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3825,47 +4577,50 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_Tests_macOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Messaging_Example_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 8489BA940D280D954CF784DF /* [CP] Embed Pods Frameworks */ = { + 6A17F5D59D7B838BFBBFAE93 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-resources.sh", + "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 89FC9C3CF79117EF07001272 /* [CP] Copy Pods Resources */ = { + 6A332C7CB67CF7FF26296EF9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Auth_Tests_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 8AC1F8EDC83D64A46940EA1F /* [CP] Copy Pods Resources */ = { + 6EC13D506E425EB20A7843D8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3877,10 +4632,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_tvOS/Pods-Core_Tests_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 91ED54292706C89DEAF738F0 /* [CP] Copy Pods Resources */ = { + 76D01041B075D88EC92B58BC /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3892,10 +4647,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_tvOS/Pods-Storage_Tests_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 94DE13FC01F4BCC0A3AA92B8 /* [CP] Check Pods Manifest.lock */ = { + 7719F31E8BEEE94528B0B560 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3906,29 +4661,34 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_ApiTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Database_Tests_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 952D8E3BC2A768AF99B029D4 /* [CP] Copy Pods Resources */ = { + 7AED28FFDB4538097571CAB0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-465fce74/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-macOS/GTMSessionFetcher.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 964A6DD602ABD81ABDE945E1 /* [CP] Check Pods Manifest.lock */ = { + 86C0D3C6E5D05FBBCA3CE8BF /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3939,36 +4699,32 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_IntegrationTests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Database_Example_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9DDF848892C1B2DCE343D139 /* [CP] Embed Pods Frameworks */ = { + 88B701F1A289EED5913CB89F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-iOS/GTMSessionFetcher.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + "$(DERIVED_FILE_DIR)/Pods-Auth_Example_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9F9A46A840E3517985F97BF7 /* [CP] Check Pods Manifest.lock */ = { + 8A0408EE425E76C47C98D3D3 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -3986,7 +4742,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A397E143BFA2B54BBA78DB27 /* [CP] Embed Pods Frameworks */ = { + 8B622E883C1CC4C26C0BB9A9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4010,22 +4766,43 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B5724E5E5CB63BD5B738C4F6 /* [CP] Copy Pods Resources */ = { + 8DB662ACD739CD47CFC7C093 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Core_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 8E51FDDF5CDC6B3B42AE8735 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Storage_Example_tvOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B57C4BF2A720187D5DF4C848 /* [CP] Copy Pods Resources */ = { + 93AB0EF8AA5A4C48546D60A7 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4037,17 +4814,17 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_iOS/Pods-Storage_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - B5D70414394DD066BE115ED8 /* [CP] Embed Pods Frameworks */ = { + 94E5426439D34EF38E3A1C61 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_tvOS/Pods-Auth_Tests_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-tvOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( @@ -4055,10 +4832,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_tvOS/Pods-Auth_Tests_tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B6C7305ECEA2DA69869E3199 /* [CP] Check Pods Manifest.lock */ = { + 955CEE0E05C6781D75206EE4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4069,14 +4846,14 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_EarlGreyTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Core_Tests_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BC5C8E9DA5ECC9095376EEFC /* [CP] Copy Pods Resources */ = { + 96AC317066A0285BEC8B0E20 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4088,43 +4865,46 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - BD09C44595A6ECBB8FA2350D /* [CP] Check Pods Manifest.lock */ = { + 997D0D4345B2BFC675DD3992 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_Example_macOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BD7302A2861F068F5540CCA6 /* [CP] Copy Pods Resources */ = { + 9C3034A423FA21B0E3500BF9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Analytics_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C0894681AFF0FF07CE891310 /* [CP] Check Pods Manifest.lock */ = { + 9CAEF4F03D2C87AED96E87B8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4135,84 +4915,59 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Storage_Tests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Auth_ApiTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C0BB541B4E2E4188148B74BF /* [CP] Embed Pods Frameworks */ = { + 9CE7A87FC2C9C68B0C58E63B /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-be8a5251/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-iOS/GTMSessionFetcher.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_iOS/Pods-Auth_Example_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_tvOS/Pods-Auth_Example_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C4CB228F9FBF834637FDD550 /* [CP] Embed Pods Frameworks */ = { + 9F60468168975372B533A4DF /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-be8a5251/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher.default-Core/GTMSessionFetcher.framework", - "${BUILT_PRODUCTS_DIR}/Bolts/Bolts.framework", - "${BUILT_PRODUCTS_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework", - "${BUILT_PRODUCTS_DIR}/FBSDKLoginKit/FBSDKLoginKit.framework", - "${BUILT_PRODUCTS_DIR}/GTMOAuth2/GTMOAuth2.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Bolts.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKLoginKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMOAuth2.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Sample/Pods-Auth_Sample-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C6DD8EA209B18D8651337E5A /* [CP] Check Pods Manifest.lock */ = { + A127C8A6500F782E73C0851A /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Storage_IntegrationTests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C981CB657374F18444683DDE /* [CP] Check Pods Manifest.lock */ = { + A276E28C6BE15473C08F46C7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4223,29 +4978,32 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Auth_Tests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Database_IntegrationTests_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CB265192F117EE5B7B6A90F3 /* [CP] Copy Pods Resources */ = { + A4A70B0E20C6A874C668B261 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D293C865CA6C9CFE510F2030 /* [CP] Copy Pods Resources */ = { + A690931685428A81DB3D7318 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4257,35 +5015,32 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_macOS/Pods-Auth_Example_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - D57035FA9DBD9B5C6F7E44BB /* [CP] Embed Pods Frameworks */ = { + A6DC1E378B43295245C5C1DA /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_tvOS/Pods-Storage_Example_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - D736CA94F00AB417403CEC0D /* [CP] Embed Pods Frameworks */ = { + AD0431F92777A7C0529C761E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( @@ -4293,16 +5048,16 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Tests_iOS/Pods-Messaging_Tests_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - DBE97573DB393D723CD8CDA2 /* [CP] Embed Pods Frameworks */ = { + ADB10E4C6A62992C15EE9BB4 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-frameworks.sh", + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-frameworks.sh", "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; @@ -4311,48 +5066,40 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_iOS/Pods-Database_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - DC31836CBCE7DE03EC932511 /* [CP] Embed Pods Frameworks */ = { + AE504E2BAD5B3581FC1898CA /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Analytics_Tests_iOS/Pods-Analytics_Tests_iOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - DC71E8C018300A993E541683 /* [CP] Copy Pods Resources */ = { + AFD2E6B7DB258E48009217D8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample-resources.sh", - "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_SwiftSample/Pods-Auth_SwiftSample-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_tvOS/Pods-Database_Tests_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - DC8467211F158C333D6E1851 /* [CP] Copy Pods Resources */ = { + AFD8FCED83B8C2B69BC89591 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4364,10 +5111,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - DE3BC872B0631D9222625218 /* [CP] Copy Pods Resources */ = { + B133AB611E38B0B6695DF763 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4379,70 +5126,76 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_tvOS/Pods-Database_Example_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - E14B732B18AC2D43E964F013 /* [CP] Embed Pods Frameworks */ = { + B6EF8098F3C4BB08D7BED9D8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-Logger-NSData+zlib/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Protobuf.framework", + "$(DERIVED_FILE_DIR)/Pods-Auth_EarlGreyTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - E1EF4640668E42876CD0680B /* [CP] Embed Pods Frameworks */ = { + BAB96787C60CED3387854011 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-macOS/GTMSessionFetcher.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E3A92F1E7F7F65ACF2BCEC78 /* [CP] Check Pods Manifest.lock */ = { + BCFDF9E24063519540D27F43 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Analytics_Tests_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + BFCC067E4DA198D538DC3FDF /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_iOS/Pods-Database_Example_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - E4708A6EB45D6F7D30070DCF /* [CP] Check Pods Manifest.lock */ = { + C24F5282192B81B6A39BAEB8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4453,14 +5206,14 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Core_Tests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Auth_Sample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - E4CD99103647D7D03D05576E /* [CP] Copy Pods Resources */ = { + C543D8A8F6950A4301C0D644 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4472,63 +5225,64 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_tvOS/Pods-Core_Example_tvOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; - EB62267583A8460DAF576DF9 /* [CP] Copy Pods Resources */ = { + C56FA5154BF616EA6F457108 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Storage_Example_macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - EBD8971C0B3B5BCDA5F5EA9F /* [CP] Embed Pods Frameworks */ = { + C70080AEF1AD5B5BB73542BF /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", - "${BUILT_PRODUCTS_DIR}/leveldb-library-macOS/leveldb.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_macOS/Pods-Database_Example_macOS-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_iOS/Pods-Auth_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - F5B5EF87DFA0131455579138 /* [CP] Embed Pods Frameworks */ = { + C826D2B941653E5EEEBE569D /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-frameworks.sh", - "${PODS_ROOT}/EarlGrey/EarlGrey/EarlGrey.framework", + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/EarlGrey.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_EarlGreyTests/Pods-Auth_EarlGreyTests-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_macOS/Pods-Storage_IntegrationTests_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - FF06F317B2790040C6157248 /* [CP] Check Pods Manifest.lock */ = { + C85C84FF7518F64284384825 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -4539,154 +5293,533 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Database_Tests_iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Auth_SwiftSample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - FFAC5DC18B783B814EF2DAB5 /* [CP] Copy Pods Resources */ = { + C97E0BBB635D9C80C5C62D74 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_macOS/Pods-Core_Tests_macOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - FFBE661125B41DE1A5B115C3 /* [CP] Copy Pods Resources */ = { + CCADF8C25FBA174357AEA0CE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Tests_iOS/Pods-Core_Tests_iOS-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 06121EB81EC399C50008D70E /* Sources */ = { - isa = PBXSourcesBuildPhase; + CD18801A135756D44CE31E8C /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - 06C24A061EC39BCB005208CA /* FIRStorageIntegrationTests.m in Sources */, + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-Logger-NSData+zlib/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Protobuf.framework", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 0624F3DD1EC0ECFA00E5940D /* Sources */ = { - isa = PBXSourcesBuildPhase; + CFD020C48DD8D50E846F5F60 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - 0624F3EC1EC0ED1B00E5940D /* FData.m in Sources */, - 0637BA6D1EC0F9CF00CAEFD4 /* FTestBase.m in Sources */, - 0637BA721EC0F9E000CAEFD4 /* FTupleEventTypeString.m in Sources */, - 0637BA6C1EC0F9CB00CAEFD4 /* FTestAuthTokenGenerator.m in Sources */, - 0637BA6B1EC0F9C700CAEFD4 /* FMockStorageEngine.m in Sources */, - 0624F3EB1EC0ED0800E5940D /* FConnectionTest.m in Sources */, - 0624F3F21EC0ED3F00E5940D /* FKeepSyncedTest.m in Sources */, - 0624F3F71EC0ED5600E5940D /* FTransactionTest.m in Sources */, - 0624F3F01EC0ED3500E5940D /* FIRDatabaseQueryTests.m in Sources */, - 0637BA701EC0F9D900CAEFD4 /* FTestExpectations.m in Sources */, - 0637BA6F1EC0F9D500CAEFD4 /* FTestClock.m in Sources */, - 0637BA691EC0F9C100CAEFD4 /* FIRFakeApp.m in Sources */, - 0624F3EE1EC0ED2A00E5940D /* FEventTests.m in Sources */, - 0624F3ED1EC0ED2300E5940D /* FDotInfo.m in Sources */, - 0624F3F61EC0ED5100E5940D /* FRealtime.m in Sources */, - 0637BA671EC0F9BA00CAEFD4 /* FDevice.m in Sources */, - 0637BA6A1EC0F9C400CAEFD4 /* FIRTestAuthTokenProvider.m in Sources */, - 0637BA731EC0F9E400CAEFD4 /* SenTest+FWaiter.m in Sources */, - 0624F3F11EC0ED3A00E5940D /* FIRDatabaseTests.m in Sources */, - 0624F3F41EC0ED4800E5940D /* FOrderByTests.m in Sources */, - 0624F3F51EC0ED4D00E5940D /* FPersist.m in Sources */, - 0624F3EF1EC0ED3000E5940D /* FIRAuthTests.m in Sources */, - 0624F3F31EC0ED4300E5940D /* FOrder.m in Sources */, - 0637BA6E1EC0F9D200CAEFD4 /* FTestCachePolicy.m in Sources */, - 0637BA711EC0F9DD00CAEFD4 /* FTestHelpers.m in Sources */, - 0637BA681EC0F9BD00CAEFD4 /* FEventTester.m in Sources */, + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Core_Example_tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - AFD562E11EB13C6D00EA2233 /* Sources */ = { - isa = PBXSourcesBuildPhase; + D0A888D2C36723C55F2BDC0C /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - AFD563171EBBEF7B00EA2233 /* Data+MessagingExtensions.swift in Sources */, - AFD5630E1EB1402300EA2233 /* AppDelegate.swift in Sources */, - AFC8BA9D1EBD230E00B8EEAE /* NotificationsController.swift in Sources */, - AFD5630F1EB1402300EA2233 /* MessagingViewController.swift in Sources */, - AFC8BAA71EC257D800B8EEAE /* FIRSampleAppUtilities.m in Sources */, - AFC8BA9F1EBD51A700B8EEAE /* Environment.swift in Sources */, + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_iOS/Pods-Core_Example_iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - D01853691EDAD084003A645C /* Sources */ = { - isa = PBXSourcesBuildPhase; + D424AD0375A67F11DDF83CBB /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - D01853831EDAD113003A645C /* FIRAppDelegate.m in Sources */, - D01853841EDAD113003A645C /* FIRViewController.m in Sources */, - D01853851EDAD113003A645C /* main.m in Sources */, + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_tvOS/Pods-Database_Example_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-tvOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/leveldb-library-tvOS/leveldb.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Example_tvOS/Pods-Database_Example_tvOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - D018538C1EDAD364003A645C /* Sources */ = { - isa = PBXSourcesBuildPhase; + D61AD5162C75965358E153F2 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - D018538D1EDAD364003A645C /* FIRGetOOBConfirmationCodeResponseTests.m in Sources */, - D018538E1EDAD364003A645C /* FIRGetAccountInfoRequestTests.m in Sources */, - D018538F1EDAD364003A645C /* FIRSignUpNewUserResponseTests.m in Sources */, - D01853901EDAD364003A645C /* FIRGetOOBConfirmationCodeRequestTests.m in Sources */, - D01853911EDAD364003A645C /* FIRAdditionalUserInfoTests.m in Sources */, - D01853931EDAD364003A645C /* FIRVerifyPasswordResponseTests.m in Sources */, - D01853941EDAD364003A645C /* FIRAuthDispatcherTests.m in Sources */, - D01853951EDAD364003A645C /* FIRVerifyCustomTokenResponseTests.m in Sources */, - D01853961EDAD364003A645C /* FIRAuthUserDefaultsStorageTests.m in Sources */, - D01853971EDAD364003A645C /* FIRDeleteAccountResponseTests.m in Sources */, - D01853981EDAD364003A645C /* FIRTwitterAuthProviderTests.m in Sources */, - D018539A1EDAD364003A645C /* FIRGitHubAuthProviderTests.m in Sources */, - D018539B1EDAD364003A645C /* FIRVerifyAssertionRequestTests.m in Sources */, - D018539C1EDAD364003A645C /* FIRVerifyCustomTokenRequestTests.m in Sources */, - D018539E1EDAD364003A645C /* FIRFakeBackendRPCIssuer.m in Sources */, - D018539F1EDAD364003A645C /* FIRAuthBackendCreateAuthURITests.m in Sources */, - D01853A21EDAD364003A645C /* FIRResetPasswordRequestTests.m in Sources */, - D01853A31EDAD364003A645C /* FIRResetPasswordResponseTests.m in Sources */, - D01853A41EDAD364003A645C /* FIRCreateAuthURIRequestTests.m in Sources */, - D01853A61EDAD364003A645C /* FIRAuthKeychainTests.m in Sources */, - D01853A71EDAD364003A645C /* FIRAuthGlobalWorkQueueTests.m in Sources */, - D01853A81EDAD364003A645C /* FIRDeleteAccountRequestTests.m in Sources */, - D01853AB1EDAD364003A645C /* FIRVerifyPasswordRequestTest.m in Sources */, - D01853AC1EDAD364003A645C /* FIRCreateAuthURIResponseTests.m in Sources */, - D01853AD1EDAD364003A645C /* FIRAuthBackendRPCImplementationTests.m in Sources */, - D01853AF1EDAD364003A645C /* OCMStubRecorder+FIRAuthUnitTests.m in Sources */, - D01853B01EDAD364003A645C /* FIRVerifyAssertionResponseTests.m in Sources */, - D01853B11EDAD364003A645C /* FIRSignUpNewUserRequestTests.m in Sources */, - D01853B21EDAD364003A645C /* FIRGetAccountInfoResponseTests.m in Sources */, - D01853B31EDAD364003A645C /* FIRSetAccountInfoRequestTests.m in Sources */, - D9B0D41F1F578F6E00A567C2 /* FIRGetProjectConfigRequestTests.m in Sources */, - D01853B41EDAD364003A645C /* FIRAuthAppCredentialTests.m in Sources */, - D01853B51EDAD364003A645C /* FIRAuthSerialTaskQueueTests.m in Sources */, - D9B0D4211F578F7300A567C2 /* FIRGetProjectConfigResponseTests.m in Sources */, - D01853B61EDAD364003A645C /* FIRApp+FIRAuthUnitTests.m in Sources */, - D01853B71EDAD364003A645C /* FIRSetAccountInfoResponseTests.m in Sources */, - D01853B81EDAD364003A645C /* FIRAuthTests.m in Sources */, - D01853BC1EDAD364003A645C /* FIRUserTests.m in Sources */, ); - runOnlyForDeploymentPostprocessing = 0; + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Tests_macOS/Pods-Auth_Tests_macOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + DA5D35B2E947885B7B9A8FCA /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Messaging_Example_iOS/Pods-Messaging_Example_iOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + DF29C4F0F86D60F7FEE583F8 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_ApiTests/Pods-Auth_ApiTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + DF698E6810C50B85FC20ABCC /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_IntegrationTests_iOS/Pods-Database_IntegrationTests_iOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + E24428AEED98846FAEE3A892 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-iOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-iOS/GTMSessionFetcher.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_iOS/Pods-Storage_Example_iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E6E7FCA58951222D1403093F /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_IntegrationTests_iOS/Pods-Storage_IntegrationTests_iOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + EB4045893AE0E69BB38780B1 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core_Example_macOS/Pods-Core_Example_macOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + ED383603B7B5D4C03055E2A7 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Database_Tests_macOS/Pods-Database_Tests_macOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + EDDC22912C046AB4349E45D5 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Core_Tests_macOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + EF45D0D217BDEA5CEB66E5C2 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Database_Example_iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F047DE7DFD8E3EFA65677278 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_tvOS/Pods-Auth_Example_tvOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-f29d6b98/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-tvOS/GTMSessionFetcher.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Auth_Example_tvOS/Pods-Auth_Example_tvOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F106DC91C54784AD9F5963D5 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Tests_macOS/Pods-Storage_Tests_macOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + F58DF2B67102DFA67481CE7C /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Database_Tests_macOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F9006262CA0804846FE05F99 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Storage_IntegrationTests_iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FC761FD2D605CBA0F9693A16 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Database_IntegrationTests_iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FCAE72CAEA7047E5BC17A115 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Database_Example_macOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FE4106FE85FE9310554CF15A /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac-Defines-NSData+zlib-macOS/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher-Core-macOS/GTMSessionFetcher.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Storage_Example_macOS/Pods-Storage_Example_macOS-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 06121EB81EC399C50008D70E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 06C24A061EC39BCB005208CA /* FIRStorageIntegrationTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 0624F3DD1EC0ECFA00E5940D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0624F3EC1EC0ED1B00E5940D /* FData.m in Sources */, + 0637BA6D1EC0F9CF00CAEFD4 /* FTestBase.m in Sources */, + 0637BA721EC0F9E000CAEFD4 /* FTupleEventTypeString.m in Sources */, + 0637BA6C1EC0F9CB00CAEFD4 /* FTestAuthTokenGenerator.m in Sources */, + 0637BA6B1EC0F9C700CAEFD4 /* FMockStorageEngine.m in Sources */, + 0624F3EB1EC0ED0800E5940D /* FConnectionTest.m in Sources */, + 0624F3F21EC0ED3F00E5940D /* FKeepSyncedTest.m in Sources */, + 0624F3F71EC0ED5600E5940D /* FTransactionTest.m in Sources */, + 0624F3F01EC0ED3500E5940D /* FIRDatabaseQueryTests.m in Sources */, + 0637BA701EC0F9D900CAEFD4 /* FTestExpectations.m in Sources */, + 0637BA6F1EC0F9D500CAEFD4 /* FTestClock.m in Sources */, + 0637BA691EC0F9C100CAEFD4 /* FIRFakeApp.m in Sources */, + 0624F3EE1EC0ED2A00E5940D /* FEventTests.m in Sources */, + 0624F3ED1EC0ED2300E5940D /* FDotInfo.m in Sources */, + 0624F3F61EC0ED5100E5940D /* FRealtime.m in Sources */, + 0637BA671EC0F9BA00CAEFD4 /* FDevice.m in Sources */, + 0637BA6A1EC0F9C400CAEFD4 /* FIRTestAuthTokenProvider.m in Sources */, + 0637BA731EC0F9E400CAEFD4 /* SenTest+FWaiter.m in Sources */, + 0624F3F11EC0ED3A00E5940D /* FIRDatabaseTests.m in Sources */, + 0624F3F41EC0ED4800E5940D /* FOrderByTests.m in Sources */, + 0624F3F51EC0ED4D00E5940D /* FPersist.m in Sources */, + 0624F3EF1EC0ED3000E5940D /* FIRAuthTests.m in Sources */, + 0624F3F31EC0ED4300E5940D /* FOrder.m in Sources */, + 0637BA6E1EC0F9D200CAEFD4 /* FTestCachePolicy.m in Sources */, + 0637BA711EC0F9DD00CAEFD4 /* FTestHelpers.m in Sources */, + 0637BA681EC0F9BD00CAEFD4 /* FEventTester.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AFD562E11EB13C6D00EA2233 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AFD563171EBBEF7B00EA2233 /* Data+MessagingExtensions.swift in Sources */, + AFD5630E1EB1402300EA2233 /* AppDelegate.swift in Sources */, + AFC8BA9D1EBD230E00B8EEAE /* NotificationsController.swift in Sources */, + AFD5630F1EB1402300EA2233 /* MessagingViewController.swift in Sources */, + AFC8BAA71EC257D800B8EEAE /* FIRSampleAppUtilities.m in Sources */, + AFC8BA9F1EBD51A700B8EEAE /* Environment.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D01853691EDAD084003A645C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D01853831EDAD113003A645C /* FIRAppDelegate.m in Sources */, + D01853841EDAD113003A645C /* FIRViewController.m in Sources */, + D01853851EDAD113003A645C /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D018538C1EDAD364003A645C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D018538D1EDAD364003A645C /* FIRGetOOBConfirmationCodeResponseTests.m in Sources */, + D018538E1EDAD364003A645C /* FIRGetAccountInfoRequestTests.m in Sources */, + D018538F1EDAD364003A645C /* FIRSignUpNewUserResponseTests.m in Sources */, + D01853901EDAD364003A645C /* FIRGetOOBConfirmationCodeRequestTests.m in Sources */, + D01853911EDAD364003A645C /* FIRAdditionalUserInfoTests.m in Sources */, + D01853931EDAD364003A645C /* FIRVerifyPasswordResponseTests.m in Sources */, + D01853941EDAD364003A645C /* FIRAuthDispatcherTests.m in Sources */, + D01853951EDAD364003A645C /* FIRVerifyCustomTokenResponseTests.m in Sources */, + D01853961EDAD364003A645C /* FIRAuthUserDefaultsStorageTests.m in Sources */, + D01853971EDAD364003A645C /* FIRDeleteAccountResponseTests.m in Sources */, + D01853981EDAD364003A645C /* FIRTwitterAuthProviderTests.m in Sources */, + D018539A1EDAD364003A645C /* FIRGitHubAuthProviderTests.m in Sources */, + D018539B1EDAD364003A645C /* FIRVerifyAssertionRequestTests.m in Sources */, + D018539C1EDAD364003A645C /* FIRVerifyCustomTokenRequestTests.m in Sources */, + D018539E1EDAD364003A645C /* FIRFakeBackendRPCIssuer.m in Sources */, + D018539F1EDAD364003A645C /* FIRAuthBackendCreateAuthURITests.m in Sources */, + D01853A21EDAD364003A645C /* FIRResetPasswordRequestTests.m in Sources */, + D01853A31EDAD364003A645C /* FIRResetPasswordResponseTests.m in Sources */, + D01853A41EDAD364003A645C /* FIRCreateAuthURIRequestTests.m in Sources */, + D01853A61EDAD364003A645C /* FIRAuthKeychainTests.m in Sources */, + D01853A71EDAD364003A645C /* FIRAuthGlobalWorkQueueTests.m in Sources */, + D01853A81EDAD364003A645C /* FIRDeleteAccountRequestTests.m in Sources */, + D01853AB1EDAD364003A645C /* FIRVerifyPasswordRequestTest.m in Sources */, + D01853AC1EDAD364003A645C /* FIRCreateAuthURIResponseTests.m in Sources */, + D01853AD1EDAD364003A645C /* FIRAuthBackendRPCImplementationTests.m in Sources */, + D01853AF1EDAD364003A645C /* OCMStubRecorder+FIRAuthUnitTests.m in Sources */, + D01853B01EDAD364003A645C /* FIRVerifyAssertionResponseTests.m in Sources */, + D01853B11EDAD364003A645C /* FIRSignUpNewUserRequestTests.m in Sources */, + D01853B21EDAD364003A645C /* FIRGetAccountInfoResponseTests.m in Sources */, + D01853B31EDAD364003A645C /* FIRSetAccountInfoRequestTests.m in Sources */, + D9B0D41F1F578F6E00A567C2 /* FIRGetProjectConfigRequestTests.m in Sources */, + D01853B41EDAD364003A645C /* FIRAuthAppCredentialTests.m in Sources */, + D01853B51EDAD364003A645C /* FIRAuthSerialTaskQueueTests.m in Sources */, + D9B0D4211F578F7300A567C2 /* FIRGetProjectConfigResponseTests.m in Sources */, + D01853B61EDAD364003A645C /* FIRApp+FIRAuthUnitTests.m in Sources */, + D01853B71EDAD364003A645C /* FIRSetAccountInfoResponseTests.m in Sources */, + D01853B81EDAD364003A645C /* FIRAuthTests.m in Sources */, + D01853BC1EDAD364003A645C /* FIRUserTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; D064E6921ED9B1BF001956DF /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -4829,6 +5962,65 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DE1CD5931FBA55AF00FC031E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE1EC2971FBA5EB5007D18D8 /* ViewController.m in Sources */, + DE1EC2951FBA5EB5007D18D8 /* main.m in Sources */, + DE1EC2921FBA5EB5007D18D8 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1EC27B1FBA5E63007D18D8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE90372F1FBA5F8F00E239D3 /* FLevelDBStorageEngineTests.m in Sources */, + DE9037361FBA5F8F00E239D3 /* FRangeMergeTest.m in Sources */, + DE90373F1FBA675D00E239D3 /* FDevice.m in Sources */, + DE9037311FBA5F8F00E239D3 /* FPathTests.m in Sources */, + DE9037441FBA675D00E239D3 /* FTestAuthTokenGenerator.m in Sources */, + DE9037391FBA5F8F00E239D3 /* FSyncPointTests.m in Sources */, + DE9037371FBA5F8F00E239D3 /* FRepoInfoTest.m in Sources */, + DE9037451FBA675D00E239D3 /* FTestBase.m in Sources */, + DE90372D1FBA5F8F00E239D3 /* FIRDataSnapshotTests.m in Sources */, + DE90372B1FBA5F8F00E239D3 /* FCompoundHashTest.m in Sources */, + DE90374B1FBA675D00E239D3 /* SenTest+FWaiter.m in Sources */, + DE9037321FBA5F8F00E239D3 /* FPersistenceManagerTest.m in Sources */, + DE9037461FBA675D00E239D3 /* FTestCachePolicy.m in Sources */, + DE90373A1FBA5F8F00E239D3 /* FTrackedQueryManagerTest.m in Sources */, + DE90373C1FBA5F8F00E239D3 /* FUtilitiesTest.m in Sources */, + DE90372C1FBA5F8F00E239D3 /* FCompoundWriteTest.m in Sources */, + DE9037431FBA675D00E239D3 /* FMockStorageEngine.m in Sources */, + DE9037381FBA5F8F00E239D3 /* FSparseSnapshotTests.m in Sources */, + DE9037341FBA5F8F00E239D3 /* FPruningTest.m in Sources */, + DE9037471FBA675D00E239D3 /* FTestClock.m in Sources */, + DE90373B1FBA5F8F00E239D3 /* FTreeSortedDictionaryTests.m in Sources */, + DE9037491FBA675D00E239D3 /* FTestHelpers.m in Sources */, + DE9037401FBA675D00E239D3 /* FEventTester.m in Sources */, + DE9037351FBA5F8F00E239D3 /* FQueryParamsTest.m in Sources */, + DE90372E1FBA5F8F00E239D3 /* FIRMutableDataTests.m in Sources */, + DE9037301FBA5F8F00E239D3 /* FNodeTests.m in Sources */, + DE9037421FBA675D00E239D3 /* FIRTestAuthTokenProvider.m in Sources */, + DE9037411FBA675D00E239D3 /* FIRFakeApp.m in Sources */, + DE9037331FBA5F8F00E239D3 /* FPruneForestTest.m in Sources */, + DE90374A1FBA675D00E239D3 /* FTupleEventTypeString.m in Sources */, + DE90372A1FBA5F8F00E239D3 /* FArraySortedDictionaryTest.m in Sources */, + DE9037481FBA675D00E239D3 /* FTestExpectations.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DE1FAE8C1FBCF5E100897AAA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DE1FAEB31FBCF60D00897AAA /* ViewController.m in Sources */, + DE1FAEB21FBCF60D00897AAA /* main.m in Sources */, + DE1FAEB11FBCF60D00897AAA /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DE26D22A1F70398A004AE1D3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4876,6 +6068,55 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DE53893A1FBB62E100199FC2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEF6C3171FBCE775005D0740 /* FIRAuthBackendRPCImplementationTests.m in Sources */, + DEF6C30D1FBCE72F005D0740 /* FIRAuthDispatcherTests.m in Sources */, + DEF6C3121FBCE775005D0740 /* FIRAuthAPNSTokenTests.m in Sources */, + DEF6C3131FBCE775005D0740 /* FIRAuthAppCredentialManagerTests.m in Sources */, + DEF6C3301FBCE775005D0740 /* FIRSetAccountInfoRequestTests.m in Sources */, + DEF6C3341FBCE775005D0740 /* FIRTwitterAuthProviderTests.m in Sources */, + DEF6C3271FBCE775005D0740 /* FIRGetOOBConfirmationCodeResponseTests.m in Sources */, + DEF6C3241FBCE775005D0740 /* FIRGetAccountInfoRequestTests.m in Sources */, + DEF6C33E1FBCE775005D0740 /* FIRVerifyPasswordResponseTests.m in Sources */, + DEF6C3141FBCE775005D0740 /* FIRAuthAppCredentialTests.m in Sources */, + DEF6C31C1FBCE775005D0740 /* FIRAuthTests.m in Sources */, + DEF6C33D1FBCE775005D0740 /* FIRVerifyPasswordRequestTest.m in Sources */, + DEF6C3181FBCE775005D0740 /* FIRAuthGlobalWorkQueueTests.m in Sources */, + DEF6C3191FBCE775005D0740 /* FIRAuthKeychainTests.m in Sources */, + DEF6C32A1FBCE775005D0740 /* FIRGitHubAuthProviderTests.m in Sources */, + DEF6C3321FBCE775005D0740 /* FIRSignUpNewUserRequestTests.m in Sources */, + DEF6C30F1FBCE775005D0740 /* FIRAdditionalUserInfoTests.m in Sources */, + DEF6C31B1FBCE775005D0740 /* FIRAuthSerialTaskQueueTests.m in Sources */, + DEF6C3251FBCE775005D0740 /* FIRGetAccountInfoResponseTests.m in Sources */, + DEF6C3281FBCE775005D0740 /* FIRGetProjectConfigRequestTests.m in Sources */, + DEF6C3291FBCE775005D0740 /* FIRGetProjectConfigResponseTests.m in Sources */, + DEF6C32D1FBCE775005D0740 /* FIRResetPasswordResponseTests.m in Sources */, + DEF6C33C1FBCE775005D0740 /* FIRVerifyCustomTokenResponseTests.m in Sources */, + DEF6C3161FBCE775005D0740 /* FIRAuthBackendCreateAuthURITests.m in Sources */, + DEF6C32C1FBCE775005D0740 /* FIRResetPasswordRequestTests.m in Sources */, + DEF6C31F1FBCE775005D0740 /* FIRCreateAuthURIRequestTests.m in Sources */, + DEF6C3201FBCE775005D0740 /* FIRCreateAuthURIResponseTests.m in Sources */, + DEF6C31A1FBCE775005D0740 /* FIRAuthNotificationManagerTests.m in Sources */, + DEF6C33B1FBCE775005D0740 /* FIRVerifyCustomTokenRequestTests.m in Sources */, + DEF6C3221FBCE775005D0740 /* FIRDeleteAccountResponseTests.m in Sources */, + DEF6C3381FBCE775005D0740 /* FIRVerifyAssertionResponseTests.m in Sources */, + DEF6C3101FBCE775005D0740 /* FIRApp+FIRAuthUnitTests.m in Sources */, + DEF6C3411FBCE775005D0740 /* OCMStubRecorder+FIRAuthUnitTests.m in Sources */, + DEF6C3211FBCE775005D0740 /* FIRDeleteAccountRequestTests.m in Sources */, + DEF6C3331FBCE775005D0740 /* FIRSignUpNewUserResponseTests.m in Sources */, + DEF6C3371FBCE775005D0740 /* FIRVerifyAssertionRequestTests.m in Sources */, + DEF6C3231FBCE775005D0740 /* FIRFakeBackendRPCIssuer.m in Sources */, + DEF6C31E1FBCE775005D0740 /* FIRAuthUserDefaultsStorageTests.m in Sources */, + DEF6C3351FBCE775005D0740 /* FIRUserMetadataTests.m in Sources */, + DEF6C3311FBCE775005D0740 /* FIRSetAccountInfoResponseTests.m in Sources */, + DEF6C3361FBCE775005D0740 /* FIRUserTests.m in Sources */, + DEF6C3261FBCE775005D0740 /* FIRGetOOBConfirmationCodeRequestTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DE7B8D011E8EF077009EB6DF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5019,6 +6260,57 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DEAAD37D1FBA11270053BF48 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD3D01FBA1EFA0053BF48 /* ViewController.m in Sources */, + DEAAD3CF1FBA1EFA0053BF48 /* AppDelegate.m in Sources */, + DEAAD3C31FBA1CD90053BF48 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3911FBA11270053BF48 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD3DA1FBA34250053BF48 /* FIROptionsTest.m in Sources */, + DEAAD3D51FBA34250053BF48 /* FIRAppAssociationRegistrationUnitTests.m in Sources */, + DEAAD3D91FBA34250053BF48 /* FIRLoggerTest.m in Sources */, + DEAAD3D61FBA34250053BF48 /* FIRAppTest.m in Sources */, + DEAAD3D81FBA34250053BF48 /* FIRConfigurationTest.m in Sources */, + DEAAD3DB1FBA34250053BF48 /* FIRTestCase.m in Sources */, + DEAAD3D71FBA34250053BF48 /* FIRBundleUtilTest.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3DD1FBA46AA0053BF48 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD41F1FBA470B0053BF48 /* ViewController.m in Sources */, + DEAAD41D1FBA470B0053BF48 /* main.m in Sources */, + DEAAD41A1FBA470B0053BF48 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DEAAD3F11FBA46AB0053BF48 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DEAAD4251FBA49ED0053BF48 /* FIRStoragePathTests.m in Sources */, + DEAAD42A1FBA49ED0053BF48 /* FIRStorageUpdateMetadataTests.m in Sources */, + DEAAD4221FBA49ED0053BF48 /* FIRStorageDeleteTests.m in Sources */, + DEAAD4291FBA49ED0053BF48 /* FIRStorageTokenAuthorizerTests.m in Sources */, + DEAAD4231FBA49ED0053BF48 /* FIRStorageGetMetadataTests.m in Sources */, + DEAAD42B1FBA49ED0053BF48 /* FIRStorageUtilsTests.m in Sources */, + DEAAD4261FBA49ED0053BF48 /* FIRStorageReferenceTests.m in Sources */, + DEAAD4271FBA49ED0053BF48 /* FIRStorageTestHelpers.m in Sources */, + DEAAD4281FBA49ED0053BF48 /* FIRStorageTests.m in Sources */, + DEAAD4241FBA49ED0053BF48 /* FIRStorageMetadataTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DEB139E21E73506A00AC236D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5147,6 +6439,16 @@ target = D0FE8A1E1ED9C804003F6722 /* Database_Example_macOS */; targetProxy = D0FE8A901ED9C9CD003F6722 /* PBXContainerItemProxy */; }; + DE1E3B311FEB1E7600EAEBB0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DE1FAE8F1FBCF5E100897AAA /* Auth_Example_tvOS */; + targetProxy = DE1E3B301FEB1E7600EAEBB0 /* PBXContainerItemProxy */; + }; + DE1EC2851FBA5E63007D18D8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DE1CD5961FBA55AF00FC031E /* Database_Example_tvOS */; + targetProxy = DE1EC2841FBA5E63007D18D8 /* PBXContainerItemProxy */; + }; DE26D2631F7049F1004AE1D3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = DE26D22D1F70398A004AE1D3 /* Auth_Sample */; @@ -5177,6 +6479,21 @@ target = DEB13A0A1E73507E00AC236D /* Storage_Tests_iOS */; targetProxy = DE3373971E73776F00881891 /* PBXContainerItemProxy */; }; + DE545C841FBCA41C00C637AE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DEAAD3941FBA11270053BF48 /* Core_Tests_tvOS */; + targetProxy = DE545C831FBCA41C00C637AE /* PBXContainerItemProxy */; + }; + DE545C861FBCA42C00C637AE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DEAAD3F41FBA46AB0053BF48 /* Storage_Tests_tvOS */; + targetProxy = DE545C851FBCA42C00C637AE /* PBXContainerItemProxy */; + }; + DE545C881FBCA43200C637AE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DE1EC27E1FBA5E63007D18D8 /* Database_Tests_tvOS */; + targetProxy = DE545C871FBCA43200C637AE /* PBXContainerItemProxy */; + }; DE6F01BA1E957157004AEE01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = DE9315A61E8738460083EDBF /* Messaging_Tests_iOS */; @@ -5197,6 +6514,16 @@ target = DE9314DD1E86C6BE0083EDBF /* Auth_Tests_iOS */; targetProxy = DE9315861E86E9990083EDBF /* PBXContainerItemProxy */; }; + DEAAD3971FBA11280053BF48 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DEAAD3801FBA11270053BF48 /* Core_Example_tvOS */; + targetProxy = DEAAD3961FBA11280053BF48 /* PBXContainerItemProxy */; + }; + DEAAD3F71FBA46AB0053BF48 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DEAAD3E01FBA46AA0053BF48 /* Storage_Example_tvOS */; + targetProxy = DEAAD3F61FBA46AB0053BF48 /* PBXContainerItemProxy */; + }; DEB13A261E73512500AC236D /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = DEB139E01E73506A00AC236D /* Storage_Example_iOS */; @@ -5362,7 +6689,7 @@ /* Begin XCBuildConfiguration section */ 06121EC31EC399C50008D70E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4ECAA105379B7E664C7FF223 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */; + baseConfigurationReference = E262D06D71EE92227622D747 /* Pods-Storage_IntegrationTests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5384,7 +6711,7 @@ }; 06121EC41EC399C50008D70E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5CA5A85B5A80F118F3247910 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */; + baseConfigurationReference = A2339EEA1F050084D3214753 /* Pods-Storage_IntegrationTests_iOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5407,7 +6734,7 @@ }; 0624F3E91EC0ECFA00E5940D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 20928A4E610E48E3EA4D9F4A /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */; + baseConfigurationReference = 885461BA75A5FE1BF1CBC992 /* Pods-Database_IntegrationTests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5444,7 +6771,7 @@ }; 0624F3EA1EC0ECFA00E5940D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EDA33867CB04D0AADD09321A /* Pods-Database_IntegrationTests_iOS.release.xcconfig */; + baseConfigurationReference = 33C6BA3B4F6EEB1532A645E3 /* Pods-Database_IntegrationTests_iOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5565,7 +6892,7 @@ }; AFD562F51EB13C6D00EA2233 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4D61AACC06F8E078EF051E4C /* Pods-Messaging_Example_iOS.debug.xcconfig */; + baseConfigurationReference = 99BF1D5FC3F0CC27D845BCDE /* Pods-Messaging_Example_iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5590,7 +6917,7 @@ }; AFD562F61EB13C6D00EA2233 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6098677E3698C58151DC2E85 /* Pods-Messaging_Example_iOS.release.xcconfig */; + baseConfigurationReference = 4A7EFB64559F46B8A5FA288D /* Pods-Messaging_Example_iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5615,7 +6942,7 @@ }; D01853771EDAD084003A645C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B4F2CCE27C567E675C27953C /* Pods-Auth_Example_macOS.debug.xcconfig */; + baseConfigurationReference = 0E086A7E5D54786963FBFC7D /* Pods-Auth_Example_macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5636,7 +6963,7 @@ }; D01853781EDAD084003A645C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BF8EA84DF6AF0AB6E9BB6A0 /* Pods-Auth_Example_macOS.release.xcconfig */; + baseConfigurationReference = FFFFFD100F6720BBBA4176CC /* Pods-Auth_Example_macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5658,7 +6985,7 @@ }; D01853C41EDAD364003A645C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BA1AAFF4508A97F7B32533FC /* Pods-Auth_Tests_macOS.debug.xcconfig */; + baseConfigurationReference = 46EB9F652984D82936716B89 /* Pods-Auth_Tests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5683,7 +7010,7 @@ }; D01853C51EDAD364003A645C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FDBC4B909E617B02D7E741F6 /* Pods-Auth_Tests_macOS.release.xcconfig */; + baseConfigurationReference = B183A98C3EA6EA2E11FA31E4 /* Pods-Auth_Tests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5709,7 +7036,7 @@ }; D064E6A81ED9B1BF001956DF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6FD4B6DC35E3304CBECFEC61 /* Pods-Core_Example_macOS.debug.xcconfig */; + baseConfigurationReference = B55C9A02AA68737098994C79 /* Pods-Core_Example_macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5730,7 +7057,7 @@ }; D064E6A91ED9B1BF001956DF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F7649E1B594D8101939746EA /* Pods-Core_Example_macOS.release.xcconfig */; + baseConfigurationReference = 7981511F571E13DECA09B4B1 /* Pods-Core_Example_macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5752,7 +7079,7 @@ }; D064E6BD1ED9B31C001956DF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2B3C652966760042D996247E /* Pods-Core_Tests_macOS.debug.xcconfig */; + baseConfigurationReference = CDEE84B9D494E05B9F9D46FF /* Pods-Core_Tests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5772,7 +7099,7 @@ }; D064E6BE1ED9B31C001956DF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 287D8FC7F3129B28D8A29FBE /* Pods-Core_Tests_macOS.release.xcconfig */; + baseConfigurationReference = 0118423DA26C4B44AEE1B9C1 /* Pods-Core_Tests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5793,7 +7120,7 @@ }; D0EDB2CB1EDA04F800B6C31B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 24B879B03BD82C7DE771CA61 /* Pods-Storage_Example_macOS.debug.xcconfig */; + baseConfigurationReference = 66A4B7148EBB02E1A68EB8B0 /* Pods-Storage_Example_macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5814,7 +7141,7 @@ }; D0EDB2CC1EDA04F800B6C31B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FD3AEF097DFCF2ADAC345D2A /* Pods-Storage_Example_macOS.release.xcconfig */; + baseConfigurationReference = 72CFADA95DFD90718FDCFE19 /* Pods-Storage_Example_macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5836,7 +7163,7 @@ }; D0EDB2F41EDA06CB00B6C31B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4B490EFB675400675CA98196 /* Pods-Storage_Tests_macOS.debug.xcconfig */; + baseConfigurationReference = D84F03BB958CAC55AF091002 /* Pods-Storage_Tests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = ""; @@ -5861,7 +7188,7 @@ }; D0EDB2F51EDA06CB00B6C31B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0EF5EDDB1FD839F03FC02AA /* Pods-Storage_Tests_macOS.release.xcconfig */; + baseConfigurationReference = BA1FFE4321DBF890ADDCAAEE /* Pods-Storage_Tests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = ""; @@ -5882,7 +7209,7 @@ }; D0EDB3051EDA06D500B6C31B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C1520E81B1BFD24ED1882137 /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */; + baseConfigurationReference = 57876896413B7C97B317CCFD /* Pods-Storage_IntegrationTests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5904,7 +7231,7 @@ }; D0EDB3061EDA06D500B6C31B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B0895BC929D50B20A69CEEEF /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */; + baseConfigurationReference = 5FAFDE80DEFDE1EF5415939B /* Pods-Storage_IntegrationTests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -5945,7 +7272,7 @@ }; D0FE8A2D1ED9C804003F6722 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1068E64D36A3C656184168DE /* Pods-Database_Example_macOS.debug.xcconfig */; + baseConfigurationReference = 639B98AAF5AC93281CDF9DAF /* Pods-Database_Example_macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5966,7 +7293,7 @@ }; D0FE8A2E1ED9C804003F6722 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4CC7C8B9E821151509BB3B64 /* Pods-Database_Example_macOS.release.xcconfig */; + baseConfigurationReference = B7C4D4083183945C8A9CE722 /* Pods-Database_Example_macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -5988,7 +7315,7 @@ }; D0FE8A601ED9C86F003F6722 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86B8E0400070C72C0FE0C2F8 /* Pods-Database_Tests_macOS.debug.xcconfig */; + baseConfigurationReference = EAB8C42B67530BE1F6913791 /* Pods-Database_Tests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6027,7 +7354,7 @@ }; D0FE8A611ED9C86F003F6722 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7879DCC8860E7CED0311D4E8 /* Pods-Database_Tests_macOS.release.xcconfig */; + baseConfigurationReference = 4CCB05296C6932B64AFBFB1A /* Pods-Database_Tests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6066,7 +7393,7 @@ }; D0FE8A8A1ED9C87B003F6722 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1CCC00FFFC534F0E9B41CF29 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */; + baseConfigurationReference = D2ACCDA6F5D95F900ADBC704 /* Pods-Database_IntegrationTests_macOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6104,7 +7431,7 @@ }; D0FE8A8B1ED9C87B003F6722 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 00BD45B2141C68C3F9809A4D /* Pods-Database_IntegrationTests_macOS.release.xcconfig */; + baseConfigurationReference = F2A878FAEAB3ACF41E7D630C /* Pods-Database_IntegrationTests_macOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6141,9 +7468,242 @@ }; name = Release; }; + DE1CD5B21FBA55B000FC031E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B44CC7B623B174C922C241EF /* Pods-Database_Example_tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Database/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + DE1CD5B31FBA55B000FC031E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7ED0DF69C095C21EFC81F672 /* Pods-Database_Example_tvOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Database/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Release; + }; + DE1EC2871FBA5E63007D18D8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D63A20E34B2316DBCDD87E6C /* Pods-Database_Tests_tvOS.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities/Tuples\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core\"", + "\"${PODS_ROOT}/../../Firebase/Database/Realtime\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/SocketRocket\"", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Libraries\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api/Private\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api\"", + "\"${PODS_ROOT}/../../Firebase/Database/Snapshot\"", + "\"${PODS_ROOT}/../../Firebase/Database/Login\"", + "\"${PODS_ROOT}/../../Firebase/Database/Constants\"", + "\"${PODS_ROOT}/../../Firebase/Database\"", + "\"${PODS_ROOT}/../../Firebase/Database/Persistence\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/FImmutableSortedDictionary/FImmutableSortedDictionary\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/View\"", + ); + INFOPLIST_FILE = "Database/Tests/FirebaseTests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Tests-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Database_Example_tvOS.app/Database_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + DE1EC2881FBA5E63007D18D8 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 37A2B647AFCDC9187D37529B /* Pods-Database_Tests_tvOS.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities/Tuples\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core\"", + "\"${PODS_ROOT}/../../Firebase/Database/Realtime\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/SocketRocket\"", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Libraries\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api/Private\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api\"", + "\"${PODS_ROOT}/../../Firebase/Database/Snapshot\"", + "\"${PODS_ROOT}/../../Firebase/Database/Login\"", + "\"${PODS_ROOT}/../../Firebase/Database/Constants\"", + "\"${PODS_ROOT}/../../Firebase/Database\"", + "\"${PODS_ROOT}/../../Firebase/Database/Persistence\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/FImmutableSortedDictionary/FImmutableSortedDictionary\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/View\"", + ); + INFOPLIST_FILE = "Database/Tests/FirebaseTests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Tests-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Database_Example_tvOS.app/Database_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Release; + }; + DE1FAEAC1FBCF5E200897AAA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1E5ECEF4C67573595335207D /* Pods-Auth_Example_tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + DE1FAEAD1FBCF5E200897AAA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9B2AAD4EC2BD3FBC053CBD2A /* Pods-Auth_Example_tvOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Release; + }; DE26D2421F70398A004AE1D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 48317719F315960780114559 /* Pods-Auth_Sample.debug.xcconfig */; + baseConfigurationReference = 0D4A8F333DE1D31AE14011D4 /* Pods-Auth_Sample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6182,7 +7742,7 @@ }; DE26D2431F70398A004AE1D3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8602A8FB9AF04A0C9A8FE380 /* Pods-Auth_Sample.release.xcconfig */; + baseConfigurationReference = 3B69D19E3FAF168C8EF37C81 /* Pods-Auth_Sample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6222,7 +7782,7 @@ }; DE26D2651F7049F1004AE1D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 09F55B0265DCD315B2DD3C2E /* Pods-Auth_ApiTests.debug.xcconfig */; + baseConfigurationReference = A91C660FB541A4CD17BD6559 /* Pods-Auth_ApiTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6254,7 +7814,7 @@ }; DE26D2661F7049F1004AE1D3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E8A8A21551A3D8557757AD0D /* Pods-Auth_ApiTests.release.xcconfig */; + baseConfigurationReference = A94313324676D16235A36D32 /* Pods-Auth_ApiTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6287,7 +7847,7 @@ }; DE26D2751F705C35004AE1D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 94C0FA103316CB56F37E20EA /* Pods-Auth_EarlGreyTests.debug.xcconfig */; + baseConfigurationReference = 16182094A8A3749CA6D24429 /* Pods-Auth_EarlGreyTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6319,7 +7879,7 @@ }; DE26D2761F705C35004AE1D3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0DB176DCABEFDF6C19B302B0 /* Pods-Auth_EarlGreyTests.release.xcconfig */; + baseConfigurationReference = 8AB8C5932B72C705E2EBCF1B /* Pods-Auth_EarlGreyTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6352,7 +7912,7 @@ }; DE26D28D1F705EC7004AE1D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0CA98384DDFFEECB1D473552 /* Pods-Auth_SwiftSample.debug.xcconfig */; + baseConfigurationReference = 01936C31BDE676F86CF8DA39 /* Pods-Auth_SwiftSample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6386,7 +7946,7 @@ }; DE26D28E1F705EC7004AE1D3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 28B01131418E340D322829AC /* Pods-Auth_SwiftSample.release.xcconfig */; + baseConfigurationReference = 91D2A751787B7FDD624919EB /* Pods-Auth_SwiftSample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6427,34 +7987,125 @@ }; name = Debug; }; - DE26D29A1F70668F004AE1D3 /* Release */ = { + DE26D29A1F70668F004AE1D3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DE33738B1E73773400881891 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEVELOPMENT_TEAM = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DE33738C1E73773400881891 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEVELOPMENT_TEAM = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DE5389451FBB62E100199FC2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 70B04F7AEEC14B4E1E8C23D8 /* Pods-Auth_Tests_tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_tvOS.app/Auth_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + DE5389461FBB62E100199FC2 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 042AFA12FC20D0683FB59B9E /* Pods-Auth_Tests_tvOS.release.xcconfig */; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", + ); + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_tvOS.app/Auth_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Release; }; - DE33738B1E73773400881891 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEVELOPMENT_TEAM = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - DE33738C1E73773400881891 /* Release */ = { + DE545C811FBCA3F000C637AE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - DEVELOPMENT_TEAM = ""; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = EQHXZ8M8AV; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; }; name = Release; }; DE7B8D241E8EF078009EB6DF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E5978C421A9123C9D34CBA43 /* Pods-Database_Example_iOS.debug.xcconfig */; + baseConfigurationReference = 3CF8F39CB220DE230DDAEC15 /* Pods-Database_Example_iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6472,7 +8123,7 @@ }; DE7B8D251E8EF078009EB6DF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5DA6361D6B54362D073F3BA5 /* Pods-Database_Example_iOS.release.xcconfig */; + baseConfigurationReference = 381D76A090B5EF6699CA3673 /* Pods-Database_Example_iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6491,7 +8142,7 @@ }; DE7B8D261E8EF078009EB6DF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 000DAC7D0D180A9FBB395BB6 /* Pods-Database_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = 5E0F451FE2DF377FEEE0C9CE /* Pods-Database_Tests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6531,204 +8182,472 @@ }; DE7B8D271E8EF078009EB6DF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2B1B85CD0C7778447F3BFCD5 /* Pods-Database_Tests_iOS.release.xcconfig */; + baseConfigurationReference = BC23B1A7390BEA04DE724F7C /* Pods-Database_Tests_iOS.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities/Tuples\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core\"", + "\"${PODS_ROOT}/../../Firebase/Database/Realtime\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/SocketRocket\"", + "\"${PODS_ROOT}/../../Firebase/Database/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Libraries\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/Utilities\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api/Private\"", + "\"${PODS_ROOT}/../../Firebase/Database/Api\"", + "\"${PODS_ROOT}/../../Firebase/Database/Snapshot\"", + "\"${PODS_ROOT}/../../Firebase/Database/Login\"", + "\"${PODS_ROOT}/../../Firebase/Database/Constants\"", + "\"${PODS_ROOT}/../../Firebase/Database\"", + "\"${PODS_ROOT}/../../Firebase/Database/Persistence\"", + "\"${PODS_ROOT}/../../Firebase/Database/third_party/FImmutableSortedDictionary/FImmutableSortedDictionary\"", + "\"${PODS_ROOT}/../../Firebase/Database/Core/View\"", + ); + INFOPLIST_FILE = "Database/Tests/FirebaseTests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Tests-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Database_Example_iOS.app/Database_Example_iOS"; + }; + name = Release; + }; + DE9314E51E86C6BE0083EDBF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 39D965DC207D9E9C841AB1AF /* Pods-Auth_Example_iOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + DE9314E61E86C6BE0083EDBF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FF3BDAACC6424BF110DC26F2 /* Pods-Auth_Example_iOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + DE9314E71E86C6BE0083EDBF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9E042E6047B5B5D409AD083F /* Pods-Auth_Tests_iOS.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", + ); + INFOPLIST_FILE = "Auth/Tests/Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Tests-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_iOS.app/Auth_Example_iOS"; + }; + name = Debug; + }; + DE9314E81E86C6BE0083EDBF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 122B6EBA56EAB083239B83DE /* Pods-Auth_Tests_iOS.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", + "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", + ); + INFOPLIST_FILE = "Auth/Tests/Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Tests-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_iOS.app/Auth_Example_iOS"; + }; + name = Release; + }; + DE9315B01E8738460083EDBF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 011545D4307696ABBF9658F2 /* Pods-Messaging_Tests_iOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "COCOAPODS=1", + "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"", + "\"${PODS_ROOT}/../../Firebase/Messaging\"", + ); + INFOPLIST_FILE = Messaging/Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Messaging-Tests-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Messaging_Example_iOS.app/Messaging_Example_iOS"; + }; + name = Debug; + }; + DE9315B11E8738460083EDBF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C2C9D2EB11B351A0EEB3B93D /* Pods-Messaging_Tests_iOS.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "COCOAPODS=1", + "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"", + "\"${PODS_ROOT}/../../Firebase/Messaging\"", + ); + INFOPLIST_FILE = Messaging/Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Messaging-Tests-iOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Messaging_Example_iOS.app/Messaging_Example_iOS"; + }; + name = Release; + }; + DEAAD39C1FBA11280053BF48 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 86E271316861BA45BD9370FC /* Pods-Core_Example_tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Core/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Core-Example-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + DEAAD39D1FBA11280053BF48 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F55411158F1D5AD6FC20B9B9 /* Pods-Core_Example_tvOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ""; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/../../Firebase/Database/Utilities/Tuples\"", - "\"${PODS_ROOT}/../../Firebase/Database/Core\"", - "\"${PODS_ROOT}/../../Firebase/Database/Realtime\"", - "\"${PODS_ROOT}/../../Firebase/Database/third_party/SocketRocket\"", - "\"${PODS_ROOT}/../../Firebase/Database/Utilities\"", - "\"${PODS_ROOT}/../../Firebase/Database/Libraries\"", - "\"${PODS_ROOT}/../../Firebase/Database/Core/Utilities\"", - "\"${PODS_ROOT}/../../Firebase/Database/Api/Private\"", - "\"${PODS_ROOT}/../../Firebase/Database/Api\"", - "\"${PODS_ROOT}/../../Firebase/Database/Snapshot\"", - "\"${PODS_ROOT}/../../Firebase/Database/Login\"", - "\"${PODS_ROOT}/../../Firebase/Database/Constants\"", - "\"${PODS_ROOT}/../../Firebase/Database\"", - "\"${PODS_ROOT}/../../Firebase/Database/Persistence\"", - "\"${PODS_ROOT}/../../Firebase/Database/third_party/FImmutableSortedDictionary/FImmutableSortedDictionary\"", - "\"${PODS_ROOT}/../../Firebase/Database/Core/View\"", - ); - INFOPLIST_FILE = "Database/Tests/FirebaseTests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Core/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Database-Tests-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Core-Example-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Database_Example_iOS.app/Database_Example_iOS"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Release; }; - DE9314E51E86C6BE0083EDBF /* Debug */ = { + DEAAD39E1FBA11280053BF48 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6029CD8D7E65D491083D5944 /* Pods-Auth_Example_iOS.debug.xcconfig */; + baseConfigurationReference = E18F9020BB494E59BB0DDA2E /* Pods-Core_Tests_tvOS.debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "Core/Tests/Tests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Core-Example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Core_Example_tvOS.app/Core_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Debug; }; - DE9314E61E86C6BE0083EDBF /* Release */ = { + DEAAD39F1FBA11280053BF48 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C69403B9730C701BF2E0446 /* Pods-Auth_Example_iOS.release.xcconfig */; + baseConfigurationReference = B6BC99F9590CB7AAE33544C3 /* Pods-Core_Tests_tvOS.release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/Auth/App/iOS/Auth-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "Core/Tests/Tests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Example-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Core-Example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 3.0; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Core_Example_tvOS.app/Core_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Release; }; - DE9314E71E86C6BE0083EDBF /* Debug */ = { + DEAAD3FC1FBA46AB0053BF48 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1735157165B298F2A1EC36E3 /* Pods-Auth_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = 4F088699064170B6010B477A /* Pods-Storage_Example_tvOS.debug.xcconfig */; buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = ""; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", - "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", - "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", - ); - INFOPLIST_FILE = "Auth/Tests/Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Storage/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Tests-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Storage-Example-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_iOS.app/Auth_Example_iOS"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Debug; }; - DE9314E81E86C6BE0083EDBF /* Release */ = { + DEAAD3FD1FBA46AB0053BF48 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D6A450A39BCA3DB4138333D8 /* Pods-Auth_Tests_iOS.release.xcconfig */; + baseConfigurationReference = 692B433E797D83866B178F94 /* Pods-Storage_Example_tvOS.release.xcconfig */; buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ""; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/../../Firebase/Auth/Source/RPCs\"", - "\"${PODS_ROOT}/../../Firebase/Auth/Source\"", - "\"${PODS_ROOT}/../../Firebase/Auth/Source/AuthProviders\"", - ); - INFOPLIST_FILE = "Auth/Tests/Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = "$(SRCROOT)/Storage/App/tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Auth-Tests-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Storage-Example-tvOS"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Auth_Example_iOS.app/Auth_Example_iOS"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Release; }; - DE9315B01E8738460083EDBF /* Debug */ = { + DEAAD3FE1FBA46AB0053BF48 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46052D607615BD81295B65C6 /* Pods-Messaging_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = 3BDE00663D69912D5F2A7101 /* Pods-Storage_Tests_tvOS.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1", - ); + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; HEADER_SEARCH_PATHS = ( "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"", - "\"${PODS_ROOT}/../../Firebase/Messaging\"", + "\"${PODS_ROOT}/../../Firebase/Storage/Private\"", ); - INFOPLIST_FILE = Messaging/Tests/Info.plist; + INFOPLIST_FILE = "Storage/Tests/Tests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Messaging-Tests-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Storage-Example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Messaging_Example_iOS.app/Messaging_Example_iOS"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Storage_Example_tvOS.app/Storage_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Debug; }; - DE9315B11E8738460083EDBF /* Release */ = { + DEAAD3FF1FBA46AB0053BF48 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3A304052F4122D3468145F6C /* Pods-Messaging_Tests_iOS.release.xcconfig */; + baseConfigurationReference = 63687A1F0EF54DDCBD13E4D4 /* Pods-Storage_Tests_tvOS.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "COCOAPODS=1", - "GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1", - ); + DEVELOPMENT_TEAM = EQHXZ8M8AV; + GCC_C_LANGUAGE_STANDARD = gnu11; HEADER_SEARCH_PATHS = ( "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/FirebaseAnalytics\"", - "\"${PODS_ROOT}/../../Firebase/Messaging\"", + "\"${PODS_ROOT}/../../Firebase/Storage/Private\"", ); - INFOPLIST_FILE = Messaging/Tests/Info.plist; + INFOPLIST_FILE = "Storage/Tests/Tests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.google.Messaging-Tests-iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.google.Storage-Example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Messaging_Example_iOS.app/Messaging_Example_iOS"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Storage_Example_tvOS.app/Storage_Example_tvOS"; + TVOS_DEPLOYMENT_TARGET = 11.1; }; name = Release; }; DEB13A061E73506A00AC236D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3E26CB853AB2CAF1960A0F71 /* Pods-Storage_Example_iOS.debug.xcconfig */; + baseConfigurationReference = 06F3D16439F061DE9973902D /* Pods-Storage_Example_iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; @@ -6749,7 +8668,7 @@ }; DEB13A071E73506A00AC236D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 97790B1C788991008685954F /* Pods-Storage_Example_iOS.release.xcconfig */; + baseConfigurationReference = D440FB786B320FCF836B508F /* Pods-Storage_Example_iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; DEVELOPMENT_TEAM = ""; @@ -6770,7 +8689,7 @@ }; DEB13A211E73507E00AC236D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 466C3694B6C68F69BA4DA448 /* Pods-Storage_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = 218DAA68383543E59864D4FA /* Pods-Storage_Tests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = ""; @@ -6794,7 +8713,7 @@ }; DEB13A221E73507E00AC236D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B1EFE04FF3C9650984C5E3C3 /* Pods-Storage_Tests_iOS.release.xcconfig */; + baseConfigurationReference = 10C5FF4777A334F9F55ED95A /* Pods-Storage_Tests_iOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; DEVELOPMENT_TEAM = ""; @@ -6814,7 +8733,7 @@ }; DEDFEFF31FD1B8C100F7D466 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 77FA2AB612D17244983008F7 /* Pods-Analytics_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = 920F3E71E6698FEADDA9D37A /* Pods-Analytics_Tests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6846,7 +8765,7 @@ }; DEDFEFF41FD1B8C100F7D466 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 456CD9478A63272C4397975E /* Pods-Analytics_Tests_iOS.release.xcconfig */; + baseConfigurationReference = 2DE182937C7CA58E63112FD2 /* Pods-Analytics_Tests_iOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6879,7 +8798,7 @@ }; DEE14D601E84464D006FA992 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 870F50EE08ED74C38B5CAF79 /* Pods-Core_Example_iOS.debug.xcconfig */; + baseConfigurationReference = EE6603729203B76D9914EE06 /* Pods-Core_Example_iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6896,7 +8815,7 @@ }; DEE14D611E84464D006FA992 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1E6C076D38C1763E00A3DACA /* Pods-Core_Example_iOS.release.xcconfig */; + baseConfigurationReference = 3A2BAC7CAFE05F790B1E34A1 /* Pods-Core_Example_iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NONNULL = YES; @@ -6914,7 +8833,7 @@ }; DEE14D621E84464D006FA992 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0D66D613C54F5BFF80D9AB63 /* Pods-Core_Tests_iOS.debug.xcconfig */; + baseConfigurationReference = ECDA16775B57C6E80011DD9B /* Pods-Core_Tests_iOS.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6934,7 +8853,7 @@ }; DEE14D631E84464D006FA992 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DDF4A6C7CFF20DCCF96071EC /* Pods-Core_Tests_iOS.release.xcconfig */; + baseConfigurationReference = 0921DBEEC62AE8DCF318657D /* Pods-Core_Tests_iOS.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -6953,6 +8872,16 @@ }; name = Release; }; + DEF6C30C1FBCE70C005D0740 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + PRODUCT_NAME = AllUnitTests_tvOS; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -7091,6 +9020,33 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DE1CD5B61FBA55B000FC031E /* Build configuration list for PBXNativeTarget "Database_Example_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE1CD5B21FBA55B000FC031E /* Debug */, + DE1CD5B31FBA55B000FC031E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DE1EC2861FBA5E63007D18D8 /* Build configuration list for PBXNativeTarget "Database_Tests_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE1EC2871FBA5E63007D18D8 /* Debug */, + DE1EC2881FBA5E63007D18D8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DE1FAEAB1FBCF5E200897AAA /* Build configuration list for PBXNativeTarget "Auth_Example_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE1FAEAC1FBCF5E200897AAA /* Debug */, + DE1FAEAD1FBCF5E200897AAA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DE26D2411F70398A004AE1D3 /* Build configuration list for PBXNativeTarget "Auth_Sample" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -7145,6 +9101,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DE5389491FBB62E100199FC2 /* Build configuration list for PBXNativeTarget "Auth_Tests_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE5389451FBB62E100199FC2 /* Debug */, + DE5389461FBB62E100199FC2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DE545C821FBCA3F000C637AE /* Build configuration list for PBXAggregateTarget "AllUnitTests_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DE545C811FBCA3F000C637AE /* Release */, + DEF6C30C1FBCE70C005D0740 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DE7B8D281E8EF078009EB6DF /* Build configuration list for PBXNativeTarget "Database_Example_iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -7190,6 +9164,42 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DEAAD3A01FBA11280053BF48 /* Build configuration list for PBXNativeTarget "Core_Example_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DEAAD39C1FBA11280053BF48 /* Debug */, + DEAAD39D1FBA11280053BF48 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DEAAD3A11FBA11280053BF48 /* Build configuration list for PBXNativeTarget "Core_Tests_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DEAAD39E1FBA11280053BF48 /* Debug */, + DEAAD39F1FBA11280053BF48 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DEAAD4001FBA46AB0053BF48 /* Build configuration list for PBXNativeTarget "Storage_Example_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DEAAD3FC1FBA46AB0053BF48 /* Debug */, + DEAAD3FD1FBA46AB0053BF48 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DEAAD4011FBA46AB0053BF48 /* Build configuration list for PBXNativeTarget "Storage_Tests_tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DEAAD3FE1FBA46AB0053BF48 /* Debug */, + DEAAD3FF1FBA46AB0053BF48 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DEB13A051E73506A00AC236D /* Build configuration list for PBXNativeTarget "Storage_Example_iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/AllUnitTests_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/AllUnitTests_tvOS.xcscheme new file mode 100644 index 00000000000..24d7ae93c72 --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/AllUnitTests_tvOS.xcscheme @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Example_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Example_tvOS.xcscheme new file mode 100644 index 00000000000..92ef9856112 --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Example_tvOS.xcscheme @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Tests_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Tests_tvOS.xcscheme new file mode 100644 index 00000000000..10f60287f63 --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Auth_Tests_tvOS.xcscheme @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Example_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Example_tvOS.xcscheme new file mode 100644 index 00000000000..a499acade7d --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Example_tvOS.xcscheme @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Tests_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Tests_tvOS.xcscheme new file mode 100644 index 00000000000..29e1d7e75cf --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Core_Tests_tvOS.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Example_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Example_tvOS.xcscheme new file mode 100644 index 00000000000..8f1f744e992 --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Example_tvOS.xcscheme @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Tests_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Tests_tvOS.xcscheme new file mode 100644 index 00000000000..11746316e5c --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Database_Tests_tvOS.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Example_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Example_tvOS.xcscheme new file mode 100644 index 00000000000..7cd609fe684 --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Example_tvOS.xcscheme @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Tests_tvOS.xcscheme b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Tests_tvOS.xcscheme new file mode 100644 index 00000000000..abc482ecbcf --- /dev/null +++ b/Example/Firebase.xcodeproj/xcshareddata/xcschemes/Storage_Tests_tvOS.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Messaging/App/GoogleService-Info.plist b/Example/Messaging/App/GoogleService-Info.plist index 89afffe24ab..3f7547fb48d 100644 --- a/Example/Messaging/App/GoogleService-Info.plist +++ b/Example/Messaging/App/GoogleService-Info.plist @@ -10,8 +10,6 @@ correct_client_id REVERSED_CLIENT_ID correct_reversed_client_id - ANDROID_CLIENT_ID - correct_android_client_id GOOGLE_APP_ID 1:123:ios:123abc GCM_SENDER_ID diff --git a/Example/Podfile b/Example/Podfile index 24a0de6a50f..9e44d40e284 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -157,6 +157,60 @@ target 'Storage_Example_macOS' do end end +target 'Core_Example_tvOS' do + platform :tvos, '10.0' + + target 'Core_Tests_tvOS' do + inherit! :search_paths + pod 'OCMock' + end +end + +target 'Auth_Example_tvOS' do + platform :tvos, '10.0' + + pod 'FirebaseAuth', :path => '../' + + target 'Auth_Tests_tvOS' do + inherit! :search_paths + pod 'OCMock' + end +end + +target 'Database_Example_tvOS' do + platform :tvos, '10.0' + + pod 'FirebaseDatabase', :path => '../' + + target 'Database_Tests_tvOS' do + inherit! :search_paths + pod 'OCMock' + end + +# TODO +# target 'Database_IntegrationTests_tvOS' do +# inherit! :search_paths +# pod 'OCMock' +# end +end + +target 'Storage_Example_tvOS' do + platform :tvos, '10.0' + + pod 'FirebaseStorage', :path => '../' + + target 'Storage_Tests_tvOS' do + inherit! :search_paths + pod 'OCMock' + end + +#TODO Storage_IntegrationTests_tvOS +# target 'Storage_IntegrationTests_tvOS' do +# inherit! :search_paths +# pod 'OCMock' +# end +end + # This post_install workaround should be removed when FirebaseAnalytics # removes its module includes to FirebaseCore. diff --git a/Example/Storage/App/GoogleService-Info.plist b/Example/Storage/App/GoogleService-Info.plist index 89afffe24ab..3f7547fb48d 100644 --- a/Example/Storage/App/GoogleService-Info.plist +++ b/Example/Storage/App/GoogleService-Info.plist @@ -10,8 +10,6 @@ correct_client_id REVERSED_CLIENT_ID correct_reversed_client_id - ANDROID_CLIENT_ID - correct_android_client_id GOOGLE_APP_ID 1:123:ios:123abc GCM_SENDER_ID diff --git a/Example/Storage/App/tvOS/AppDelegate.h b/Example/Storage/App/tvOS/AppDelegate.h new file mode 100644 index 00000000000..013891c90b6 --- /dev/null +++ b/Example/Storage/App/tvOS/AppDelegate.h @@ -0,0 +1,21 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface AppDelegate : UIResponder + +@property(strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/Storage/App/tvOS/AppDelegate.m b/Example/Storage/App/tvOS/AppDelegate.m new file mode 100644 index 00000000000..fb6dbcfdf38 --- /dev/null +++ b/Example/Storage/App/tvOS/AppDelegate.m @@ -0,0 +1,63 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +@import FirebaseCore; +@import FirebaseStorage; + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + [FIRApp configure]; + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for + // certain types of temporary interruptions (such as an incoming phone call or SMS message) or + // when the user quits the application and it begins the transition to the background state. Use + // this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. + // Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store + // enough application state information to restore your application to its current state in case + // it is terminated later. If your application supports background execution, this method is + // called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo + // many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If + // the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also + // applicationDidEnterBackground:. +} + +@end diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000000..b03ded127a9 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - App Store.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Example/Storage/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000000..d746a609003 --- /dev/null +++ b/Example/Storage/App/tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Storage/App/tvOS/Info.plist b/Example/Storage/App/tvOS/Info.plist new file mode 100644 index 00000000000..02942a34f3e --- /dev/null +++ b/Example/Storage/App/tvOS/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Example/Storage/App/tvOS/Main.storyboard b/Example/Storage/App/tvOS/Main.storyboard new file mode 100644 index 00000000000..72d5e2239c4 --- /dev/null +++ b/Example/Storage/App/tvOS/Main.storyboard @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Storage/App/tvOS/ViewController.h b/Example/Storage/App/tvOS/ViewController.h new file mode 100644 index 00000000000..b6115b80707 --- /dev/null +++ b/Example/Storage/App/tvOS/ViewController.h @@ -0,0 +1,19 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +@interface ViewController : UIViewController + +@end diff --git a/Example/Storage/App/tvOS/ViewController.m b/Example/Storage/App/tvOS/ViewController.m new file mode 100644 index 00000000000..6d4676baae6 --- /dev/null +++ b/Example/Storage/App/tvOS/ViewController.m @@ -0,0 +1,33 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Example/Storage/App/tvOS/main.m b/Example/Storage/App/tvOS/main.m new file mode 100644 index 00000000000..d9e66544531 --- /dev/null +++ b/Example/Storage/App/tvOS/main.m @@ -0,0 +1,22 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Example/Storage/Tests/Unit/FIRStorageTests.m b/Example/Storage/Tests/Unit/FIRStorageTests.m index 503ac94fdb8..4086f62297a 100644 --- a/Example/Storage/Tests/Unit/FIRStorageTests.m +++ b/Example/Storage/Tests/Unit/FIRStorageTests.m @@ -79,7 +79,7 @@ - (void)testInitWithNoScheme { } - (void)testInitWithNilURL { - XCTAssertThrows([FIRStorage storageForApp:self.app URL:nil]); + XCTAssertThrows([FIRStorage storageForApp:self.app URL:(id _Nonnull)nil]); } - (void)testInitWithPath { diff --git a/Example/tvOSSample/Podfile b/Example/tvOSSample/Podfile new file mode 100644 index 00000000000..1e79a07d1d2 --- /dev/null +++ b/Example/tvOSSample/Podfile @@ -0,0 +1,14 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'tvOSSample' do + # Comment the next line if you're not using Swift and don't want to use dynamic frameworks + use_frameworks! + + # Pods for tvOSSample + pod 'FirebaseCore', :path => '../../' + pod 'FirebaseAuth', :path => '../../' + pod 'FirebaseDatabase', :path => '../../' + pod 'FirebaseStorage', :path => '../../' + +end diff --git a/Example/tvOSSample/tvOSSample.xcodeproj/project.pbxproj b/Example/tvOSSample/tvOSSample.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..60d2d2508be --- /dev/null +++ b/Example/tvOSSample/tvOSSample.xcodeproj/project.pbxproj @@ -0,0 +1,424 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + B7F83BACE8E8330E2A5C0861 /* Pods_tvOSSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CCE8CD052953D89D96C9CDC /* Pods_tvOSSample.framework */; }; + DE397DCB1FC8AD39007CBF0E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = ED4D5FEB1FBA055300501573 /* GoogleService-Info.plist */; }; + ED4D5FDD1FBA008200501573 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED4D5FDC1FBA008200501573 /* AppDelegate.swift */; }; + ED4D5FE21FBA008200501573 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = ED4D5FE01FBA008200501573 /* Main.storyboard */; }; + ED4D5FE41FBA008200501573 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ED4D5FE31FBA008200501573 /* Assets.xcassets */; }; + ED822C851FBA212600B00A2F /* StorageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED822C841FBA212600B00A2F /* StorageViewController.swift */; }; + EDFBCF4C1FBB3ACC0041A9FD /* DatabaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFBCF4B1FBB3ACC0041A9FD /* DatabaseViewController.swift */; }; + EDFBCF511FBC88D20041A9FD /* AuthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFBCF501FBC88D20041A9FD /* AuthViewController.swift */; }; + EDFBCF531FBC89B70041A9FD /* AuthLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFBCF521FBC89B70041A9FD /* AuthLoginViewController.swift */; }; + EDFBCF551FBC95DD0041A9FD /* EmailLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDFBCF541FBC95DD0041A9FD /* EmailLoginViewController.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 3F2496EBDAD58301BC9119C5 /* Pods-tvOSSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tvOSSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tvOSSample/Pods-tvOSSample.debug.xcconfig"; sourceTree = ""; }; + 5CCE8CD052953D89D96C9CDC /* Pods_tvOSSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tvOSSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E0A4F4B42E46BAA2DF7A366E /* Pods-tvOSSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tvOSSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-tvOSSample/Pods-tvOSSample.release.xcconfig"; sourceTree = ""; }; + ED4D5FD91FBA008200501573 /* tvOSSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tvOSSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + ED4D5FDC1FBA008200501573 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + ED4D5FE11FBA008200501573 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + ED4D5FE31FBA008200501573 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + ED4D5FE51FBA008300501573 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + ED4D5FEB1FBA055300501573 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + ED822C841FBA212600B00A2F /* StorageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageViewController.swift; sourceTree = ""; }; + EDFBCF4B1FBB3ACC0041A9FD /* DatabaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseViewController.swift; sourceTree = ""; }; + EDFBCF501FBC88D20041A9FD /* AuthViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthViewController.swift; sourceTree = ""; }; + EDFBCF521FBC89B70041A9FD /* AuthLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthLoginViewController.swift; sourceTree = ""; }; + EDFBCF541FBC95DD0041A9FD /* EmailLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmailLoginViewController.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + ED4D5FD61FBA008200501573 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B7F83BACE8E8330E2A5C0861 /* Pods_tvOSSample.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A45A5C3CB0C23372780D9FA9 /* Pods */ = { + isa = PBXGroup; + children = ( + 3F2496EBDAD58301BC9119C5 /* Pods-tvOSSample.debug.xcconfig */, + E0A4F4B42E46BAA2DF7A366E /* Pods-tvOSSample.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + BA0B7BD0C775F3B6FDDCCEB5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5CCE8CD052953D89D96C9CDC /* Pods_tvOSSample.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + ED4D5FD01FBA008200501573 = { + isa = PBXGroup; + children = ( + ED4D5FDB1FBA008200501573 /* tvOSSample */, + ED4D5FDA1FBA008200501573 /* Products */, + A45A5C3CB0C23372780D9FA9 /* Pods */, + BA0B7BD0C775F3B6FDDCCEB5 /* Frameworks */, + ); + sourceTree = ""; + }; + ED4D5FDA1FBA008200501573 /* Products */ = { + isa = PBXGroup; + children = ( + ED4D5FD91FBA008200501573 /* tvOSSample.app */, + ); + name = Products; + sourceTree = ""; + }; + ED4D5FDB1FBA008200501573 /* tvOSSample */ = { + isa = PBXGroup; + children = ( + ED4D5FEB1FBA055300501573 /* GoogleService-Info.plist */, + ED4D5FDC1FBA008200501573 /* AppDelegate.swift */, + ED4D5FE01FBA008200501573 /* Main.storyboard */, + ED4D5FE31FBA008200501573 /* Assets.xcassets */, + ED4D5FE51FBA008300501573 /* Info.plist */, + ED822C841FBA212600B00A2F /* StorageViewController.swift */, + EDFBCF501FBC88D20041A9FD /* AuthViewController.swift */, + EDFBCF521FBC89B70041A9FD /* AuthLoginViewController.swift */, + EDFBCF541FBC95DD0041A9FD /* EmailLoginViewController.swift */, + EDFBCF4B1FBB3ACC0041A9FD /* DatabaseViewController.swift */, + ); + path = tvOSSample; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + ED4D5FD81FBA008200501573 /* tvOSSample */ = { + isa = PBXNativeTarget; + buildConfigurationList = ED4D5FE81FBA008300501573 /* Build configuration list for PBXNativeTarget "tvOSSample" */; + buildPhases = ( + D5025FECAC3B7FED5FF1A46A /* [CP] Check Pods Manifest.lock */, + ED4D5FD51FBA008200501573 /* Sources */, + ED4D5FD61FBA008200501573 /* Frameworks */, + ED4D5FD71FBA008200501573 /* Resources */, + 1D04A7E6AB24B35668030EB4 /* [CP] Embed Pods Frameworks */, + 3A8B26C16219186ABE0EDF0F /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tvOSSample; + productName = tvOSSample; + productReference = ED4D5FD91FBA008200501573 /* tvOSSample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + ED4D5FD11FBA008200501573 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0910; + LastUpgradeCheck = 0910; + ORGANIZATIONNAME = Firebase; + TargetAttributes = { + ED4D5FD81FBA008200501573 = { + CreatedOnToolsVersion = 9.1; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = ED4D5FD41FBA008200501573 /* Build configuration list for PBXProject "tvOSSample" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = ED4D5FD01FBA008200501573; + productRefGroup = ED4D5FDA1FBA008200501573 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + ED4D5FD81FBA008200501573 /* tvOSSample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + ED4D5FD71FBA008200501573 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ED4D5FE41FBA008200501573 /* Assets.xcassets in Resources */, + ED4D5FE21FBA008200501573 /* Main.storyboard in Resources */, + DE397DCB1FC8AD39007CBF0E /* GoogleService-Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 1D04A7E6AB24B35668030EB4 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-tvOSSample/Pods-tvOSSample-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework", + "${BUILT_PRODUCTS_DIR}/GoogleToolboxForMac/GoogleToolboxForMac.framework", + "${BUILT_PRODUCTS_DIR}/leveldb-library/leveldb.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleToolboxForMac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/leveldb.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tvOSSample/Pods-tvOSSample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3A8B26C16219186ABE0EDF0F /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tvOSSample/Pods-tvOSSample-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + D5025FECAC3B7FED5FF1A46A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-tvOSSample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + ED4D5FD51FBA008200501573 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EDFBCF551FBC95DD0041A9FD /* EmailLoginViewController.swift in Sources */, + EDFBCF4C1FBB3ACC0041A9FD /* DatabaseViewController.swift in Sources */, + ED4D5FDD1FBA008200501573 /* AppDelegate.swift in Sources */, + EDFBCF511FBC88D20041A9FD /* AuthViewController.swift in Sources */, + EDFBCF531FBC89B70041A9FD /* AuthLoginViewController.swift in Sources */, + ED822C851FBA212600B00A2F /* StorageViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + ED4D5FE01FBA008200501573 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + ED4D5FE11FBA008200501573 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + ED4D5FE61FBA008300501573 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TVOS_DEPLOYMENT_TARGET = 11.1; + }; + name = Debug; + }; + ED4D5FE71FBA008300501573 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = appletvos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TVOS_DEPLOYMENT_TARGET = 11.1; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + ED4D5FE91FBA008300501573 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3F2496EBDAD58301BC9119C5 /* Pods-tvOSSample.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = tvOSSample/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.tvOSSample; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Debug; + }; + ED4D5FEA1FBA008300501573 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E0A4F4B42E46BAA2DF7A366E /* Pods-tvOSSample.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = tvOSSample/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.tvOSSample; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + ED4D5FD41FBA008200501573 /* Build configuration list for PBXProject "tvOSSample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ED4D5FE61FBA008300501573 /* Debug */, + ED4D5FE71FBA008300501573 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + ED4D5FE81FBA008300501573 /* Build configuration list for PBXNativeTarget "tvOSSample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ED4D5FE91FBA008300501573 /* Debug */, + ED4D5FEA1FBA008300501573 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = ED4D5FD11FBA008200501573 /* Project object */; +} diff --git a/Example/tvOSSample/tvOSSample/AppDelegate.swift b/Example/tvOSSample/tvOSSample/AppDelegate.swift new file mode 100644 index 00000000000..9a0d05278b7 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/AppDelegate.swift @@ -0,0 +1,29 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseCore + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + FirebaseApp.configure() + return true + } +} + diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..7f066674347 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 00000000000..d29f024ed5c --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 00000000000..b03ded127a9 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - App Store.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "2320x720", + "idiom" : "tv", + "filename" : "Top Shelf Image Wide.imageset", + "role" : "top-shelf-image-wide" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 00000000000..16a370df014 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Example/tvOSSample/tvOSSample/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000000..d746a609003 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/tvOSSample/tvOSSample/AuthLoginViewController.swift b/Example/tvOSSample/tvOSSample/AuthLoginViewController.swift new file mode 100644 index 00000000000..dcf72d4eb24 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/AuthLoginViewController.swift @@ -0,0 +1,40 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseAuth + +class AuthLoginViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destinationViewController. + // Pass the selected object to the new view controller. + } + */ +} diff --git a/Example/tvOSSample/tvOSSample/AuthViewController.swift b/Example/tvOSSample/tvOSSample/AuthViewController.swift new file mode 100644 index 00000000000..72351d31540 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/AuthViewController.swift @@ -0,0 +1,86 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseAuth + +class AuthViewController: UIViewController { + + // MARK: - User Interface + + /// A stackview containing all of the buttons to providers (Email, OAuth, etc). + @IBOutlet weak var providers: UIStackView! + + /// A stackview containing a signed in label and sign out button. + @IBOutlet weak var signedIn: UIStackView! + + /// A label to display the status for the signed in user. + @IBOutlet weak var signInStatus: UILabel! + + // MARK: - User Actions + + @IBAction func signOutButtonHit(_ sender: UIButton) { + // Sign out via Auth and update the UI. + try? Auth.auth().signOut() + + setUserSignedIn(nil) + } + + // MARK: - View Controller Lifecycle + + override func viewDidLoad() { + super.viewDidLoad() + + // Update the UI based on the current user (if there is one). + setUserSignedIn(Auth.auth().currentUser) + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + let destination = segue.destination + if let emailVC = destination as? EmailLoginViewController { + emailVC.delegate = self + } + } + + // MARK: - Internal Helpers + + private func setUserSignedIn(_ user: User?) { + if let user = user { + providers.isHidden = true + signedIn.isHidden = false + + signInStatus.text = "User is signed in via \(user.providerID) and the UID \(user.uid)" + } else { + // User is signed out, hide the signed in state and show the providers. + providers.isHidden = false + signedIn.isHidden = true + } + } +} + +// MARK: - EmailLoginDelegate conformance. + +extension AuthViewController: EmailLoginDelegate { + func emailLogin(_ controller: EmailLoginViewController, signedInAs user: User) { + setUserSignedIn(user) + dismiss(animated: true) + } + + func emailLogin(_ controller: EmailLoginViewController, failedWithError error: Error) { + print("Fail..... \(error)") + DispatchQueue.main.async { + controller.presentError(with: "There was an issue logging in. Please try again.") + } + } +} diff --git a/Example/tvOSSample/tvOSSample/Base.lproj/Main.storyboard b/Example/tvOSSample/tvOSSample/Base.lproj/Main.storyboard new file mode 100644 index 00000000000..a2539b3a509 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Base.lproj/Main.storyboard @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + HelveticaNeue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/tvOSSample/tvOSSample/DatabaseViewController.swift b/Example/tvOSSample/tvOSSample/DatabaseViewController.swift new file mode 100644 index 00000000000..712c48f3954 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/DatabaseViewController.swift @@ -0,0 +1,83 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseDatabase + +/// A class to demonstrate the Firebase Realtime Database API. This will show a number read +/// from the Database and increase or decrease it based on the buttons pressed. +class DatabaseViewController: UIViewController { + private enum Counter: Int { + case increment = 1 + case decrement = -1 + + var intValue: Int { + return rawValue + } + } + + // MARK: - Interface + + /// Label to display the current value. + @IBOutlet weak var currentValue: UILabel! + + // MARK: - User Actions + + /// The increment button was hit. + @IBAction func incrementButtonHit(_ sender: UIButton) { changeServerValue(with: .increment) } + + /// the decrement button was hit. + @IBAction func decrementButton(_ sender: UIButton) { changeServerValue(with: .decrement) } + + // MARK: - Internal Helpers + + /// Update the number on the server by a particular value. Note: the number passed in should only + /// be one above or below the current number. + private func changeServerValue(with type: Counter) { + let ref = Database.database().reference(withPath: Constants.databasePath) + // Update the current value of the number. + ref.runTransactionBlock { (currentData) -> TransactionResult in + guard let value = currentData.value as? Int else { + return TransactionResult.abort() + } + + currentData.value = value + type.intValue + return TransactionResult.success(withValue: currentData) + } + } + + // MARK: - View Controller Lifecycle + + override func viewDidLoad() { + super.viewDidLoad() + + // Observe the current value, and update the UI every time it changes. + let ref = Database.database().reference(withPath: Constants.databasePath) + + ref.observe(.value) { [weak self] (snapshot) in + guard let value = snapshot.value as? Int else { + print("Error grabbing value from Snapshot!") + return + } + + self?.currentValue.text = "\(value)" + } + } + + // MARK: - Constants + + private struct Constants { + static let databasePath = "magicSyncingCounter" + } +} diff --git a/Example/tvOSSample/tvOSSample/EmailLoginViewController.swift b/Example/tvOSSample/tvOSSample/EmailLoginViewController.swift new file mode 100644 index 00000000000..60dfc43bfb1 --- /dev/null +++ b/Example/tvOSSample/tvOSSample/EmailLoginViewController.swift @@ -0,0 +1,93 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseAuth + +protocol EmailLoginDelegate { + func emailLogin(_ controller: EmailLoginViewController, signedInAs user: User) + func emailLogin(_ controller: EmailLoginViewController, failedWithError error: Error) +} +class EmailLoginViewController: UIViewController { + + // MARK: - Public Properties + + var delegate: EmailLoginDelegate? + + // MARK: - User Interface + + @IBOutlet private weak var emailAddress: UITextField! + @IBOutlet private weak var password: UITextField! + + // MARK: - User Actions + + @IBAction func logInButtonHit(_ sender: UIButton) { + guard let (email, password) = validatedInputs() else { return } + + Auth.auth().signIn(withEmail: email, password: password) { [unowned self] (user, error) in + guard let user = user else { + print("Error signing in: \(error!)") + self.delegate?.emailLogin(self, failedWithError: error!) + return + } + + print("Signed in as user: \(user.uid)!") + self.delegate?.emailLogin(self, signedInAs: user) + } + } + + @IBAction func signUpButtonHit(_ sender: UIButton) { + guard let (email, password) = validatedInputs() else { return } + + Auth.auth().createUser(withEmail: email, password: password) { [unowned self] (user, error) in + guard let user = user else { + print("Error signing up: \(error!)") + self.delegate?.emailLogin(self, failedWithError: error!) + return + } + + print("Created new user: \(user.uid)!") + self.delegate?.emailLogin(self, signedInAs: user) + } + } + + // MARK: - View Controller Lifecycle + + override func viewDidLoad() { + } + + // MARK: - Helper Methods + + /// Validate the inputs for user email and password, returning the username and password if valid, + /// otherwise nil. + private func validatedInputs() -> (email: String, password: String)? { + guard let userEmail = emailAddress.text, userEmail.count >= 6 else { + presentError(with: "Email address isn't long enough.") + return nil + } + + guard let userPassword = password.text, userPassword.count >= 6 else { + presentError(with: "Password is not long enough!") + return nil + } + + return (userEmail, userPassword) + } + + func presentError(with text: String) { + let alert = UIAlertController(title: "Error", message: text, preferredStyle: .alert) + alert.addAction(UIAlertAction(title: "Okay", style: .default)) + present(alert, animated: true) + } +} diff --git a/Example/tvOSSample/tvOSSample/Info.plist b/Example/tvOSSample/tvOSSample/Info.plist new file mode 100644 index 00000000000..02942a34f3e --- /dev/null +++ b/Example/tvOSSample/tvOSSample/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UIUserInterfaceStyle + Automatic + + diff --git a/Example/tvOSSample/tvOSSample/StorageViewController.swift b/Example/tvOSSample/tvOSSample/StorageViewController.swift new file mode 100644 index 00000000000..4416649c94c --- /dev/null +++ b/Example/tvOSSample/tvOSSample/StorageViewController.swift @@ -0,0 +1,148 @@ +// Copyright 2017 Google +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import FirebaseStorage + +class StorageViewController: UIViewController { + /// An enum describing the different states of the view controller. + private enum UIState: Equatable { + /// No image is being shown, waiting on user action. + case cleared + + /// Currently downloading from Firebase. + case downloading(StorageTask) + + /// The image has downloaded and should be displayed. + case downloaded(UIImage) + + /// Show an error message and stop downloading. + case failed(String) + + /// Equatable support for UIState. + static func ==(lhs: StorageViewController.UIState, rhs: StorageViewController.UIState) -> Bool { + switch (lhs, rhs) { + case (.cleared, .cleared): return true + case (.downloading, .downloading): return true + case (.downloaded, .downloaded): return true + case (.failed, .failed): return true + default: return false + } + } + } + + /// MARK: - Properties + + /// The current internal state of the view controller. + private var state: UIState = .cleared { + didSet { changeState(from: oldValue, to: state) } + } + + // MARK: Interface + + /// Image view to display the downloaded image. + @IBOutlet weak var imageView: UIImageView! + + /// The download button. + @IBOutlet weak var downloadButton: UIButton! + + /// The clear button. + @IBOutlet weak var clearButton: UIButton! + + /// A visual representation of the state. + @IBOutlet weak var stateLabel: UILabel! + + // MARK: - User Actions + + @IBAction func downloadButtonHit(_ sender: UIButton) { + guard case .cleared = state else { return } + + // Start the download. + let storage = Storage.storage() + let ref = storage.reference(withPath: Constants.downloadPath) + // TODO: Show progress bar here using proper API. + let task = ref.getData(maxSize: Constants.maxSize) { [unowned self] (data, error) in + guard let data = data else { + self.state = .failed("Error downloading: \(error!.localizedDescription)") + return + } + + // Create a UIImage from the PNG data. + guard let image = UIImage(data: data) else { + self.state = .failed("Unable to initialize image with data downloaded.") + return + } + + self.state = .downloaded(image) + } + + // The completion block above could be run before this line in some situations. If that's the + // case, we don't need to do anything else and can return. + if case .downloaded = state { return } + + // Set the state to downloading! + state = .downloading(task) + } + + @IBAction func clearButtonHit(_ sender: UIButton) { + guard case .downloaded = state else { return } + + state = .cleared + } + + // MARK: - State Management + + /// Changing from old state to new state. + private func changeState(from oldState: UIState, to newState: UIState) { + if oldState == newState { return } + + switch (oldState, newState) { + // Regular state, start downloading the image. + case (.cleared, .downloading(_)): + // TODO: Update the UI with a spinner? Progress update? + stateLabel.text = "State: Downloading..." + + // Download complete, ensure the download button is still off and enable the clear button. + case (_, .downloaded(let image)): + imageView.image = image + stateLabel.text = "State: Image downloaded!" + + // Clear everything and reset to the original state. + case (_, .cleared): + imageView.image = nil + stateLabel.text = "State: Pending download" + + // An error occurred. + case (_, .failed(let error)): + stateLabel.text = "State: \(error)" + + // For now, as the default, throw a fatal error because it's an unexpected state. This will + // allow us to catch it immediately and add the required action or fix the bug. + default: + fatalError("Programmer error! Tried to go from \(oldState) to \(newState)") + } + } + + // MARK: - Constants + + /// Internal constants for this class. + private struct Constants { + /// The image name to download. Can comment this out and replace it with the other below it as + /// part of the demo. Ensure that Storage has an image uploaded to this path for this to + /// function properly. + static let downloadPath = "YOUR_IMAGE_NAME.jpg" + + static let maxSize: Int64 = 1024 * 1024 * 10 // ~10MB + } +} diff --git a/Firebase/Auth/Source/FIRAuthAPNSTokenManager.m b/Firebase/Auth/Source/FIRAuthAPNSTokenManager.m index 7775305c2fb..215a391cd03 100644 --- a/Firebase/Auth/Source/FIRAuthAPNSTokenManager.m +++ b/Firebase/Auth/Source/FIRAuthAPNSTokenManager.m @@ -73,7 +73,9 @@ - (void)getTokenWithCallback:(FIRAuthAPNSTokenCallback)callback { } else { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" +#if TARGET_OS_IOS [_application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert]; +#endif // TARGET_OS_IOS #pragma clang diagnostic pop } }); diff --git a/Firebase/Core/CHANGELOG.md b/Firebase/Core/CHANGELOG.md index 996617e42c7..18e956d4c6a 100644 --- a/Firebase/Core/CHANGELOG.md +++ b/Firebase/Core/CHANGELOG.md @@ -1,4 +1,5 @@ # Unreleased +- [changed] Removed AppKit dependency for community macOS build. # 2017-11-30 -- v4.0.12 -- M20.2 - [fixed] Removed `FIR_SWIFT_NAME` macro, replaced with proper `NS_SWIFT_NAME`. diff --git a/Firebase/Core/FIRNetworkURLSession.m b/Firebase/Core/FIRNetworkURLSession.m index d9c6f3a9da4..c3da6743e6d 100644 --- a/Firebase/Core/FIRNetworkURLSession.m +++ b/Firebase/Core/FIRNetworkURLSession.m @@ -428,6 +428,7 @@ - (void)setSessionID:(NSString *)sessionID { - (NSURLSessionConfiguration *)backgroundSessionConfigWithSessionID:(NSString *)sessionID { #if (TARGET_OS_OSX && defined(MAC_OS_X_VERSION_10_10) && \ MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10) || \ + TARGET_OS_TV || \ (TARGET_OS_IOS && defined(__IPHONE_8_0) && __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0) // iOS 8/10.10 builds require the new backgroundSessionConfiguration method name. diff --git a/Firebase/Core/FIRReachabilityChecker.m b/Firebase/Core/FIRReachabilityChecker.m index 733dffe7b86..cac87ff98aa 100644 --- a/Firebase/Core/FIRReachabilityChecker.m +++ b/Firebase/Core/FIRReachabilityChecker.m @@ -177,7 +177,7 @@ - (FIRReachabilityStatus)statusForFlags:(SCNetworkReachabilityFlags)flags { // Reachable flag is set. Check further flags. if (!(flags & kSCNetworkReachabilityFlagsConnectionRequired)) { // Connection required flag is not set, so we have connectivity. -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV status = (flags & kSCNetworkReachabilityFlagsIsWWAN) ? kFIRReachabilityViaCellular : kFIRReachabilityViaWifi; #elif TARGET_OS_OSX @@ -188,7 +188,7 @@ - (FIRReachabilityStatus)statusForFlags:(SCNetworkReachabilityFlags)flags { !(flags & kSCNetworkReachabilityFlagsInterventionRequired)) { // If the connection on demand or connection on traffic flag is set, and user intervention // is not required, we have connectivity. -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV status = (flags & kSCNetworkReachabilityFlagsIsWWAN) ? kFIRReachabilityViaCellular : kFIRReachabilityViaWifi; #elif TARGET_OS_OSX diff --git a/Firebase/Core/third_party/FIRAppEnvironmentUtil.m b/Firebase/Core/third_party/FIRAppEnvironmentUtil.m index 859c04e98ed..90e66f0ee5e 100644 --- a/Firebase/Core/third_party/FIRAppEnvironmentUtil.m +++ b/Firebase/Core/third_party/FIRAppEnvironmentUtil.m @@ -177,7 +177,7 @@ + (BOOL)isAppStoreReceiptSandbox { } + (BOOL)hasEmbeddedMobileProvision { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV return [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"].length > 0; #elif TARGET_OS_OSX return NO; @@ -185,7 +185,7 @@ + (BOOL)hasEmbeddedMobileProvision { } + (BOOL)isSimulator { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV NSString *platform = [FIRAppEnvironmentUtil deviceModel]; return [platform isEqual:@"x86_64"] || [platform isEqual:@"i386"]; #elif TARGET_OS_OSX @@ -207,7 +207,7 @@ + (NSString *)deviceModel { } + (NSString *)systemVersion { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV return [UIDevice currentDevice].systemVersion; #elif TARGET_OS_OSX return [NSProcessInfo processInfo].operatingSystemVersionString; @@ -215,7 +215,7 @@ + (NSString *)systemVersion { } + (BOOL)isAppExtension { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV // Documented by Apple BOOL appExtension = [[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]; return appExtension; @@ -227,7 +227,7 @@ + (BOOL)isAppExtension { #pragma mark - Helper methods + (BOOL)hasSCInfoFolder { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV NSString *bundlePath = [NSBundle mainBundle].bundlePath; NSString *scInfoPath = [bundlePath stringByAppendingPathComponent:@"SC_Info"]; return [[NSFileManager defaultManager] fileExistsAtPath:scInfoPath]; diff --git a/Firebase/Database/Core/FPersistentConnection.m b/Firebase/Database/Core/FPersistentConnection.m index 6f71d8ba19d..870727cedbe 100644 --- a/Firebase/Database/Core/FPersistentConnection.m +++ b/Firebase/Database/Core/FPersistentConnection.m @@ -925,7 +925,7 @@ - (void) sendStats:(NSDictionary *)stats { - (void) sendConnectStats { NSMutableDictionary *stats = [NSMutableDictionary dictionary]; - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV if (self.config.persistenceEnabled) { stats[@"persistence.ios.enabled"] = @1; } diff --git a/Firebase/Database/Core/FRepo.m b/Firebase/Database/Core/FRepo.m index 0935b44ce22..1c4b9564048 100644 --- a/Firebase/Database/Core/FRepo.m +++ b/Firebase/Database/Core/FRepo.m @@ -53,7 +53,7 @@ #import "FValueEventRegistration.h" #import "FEmptyNode.h" -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #import #endif @@ -546,7 +546,7 @@ - (void) didEnterBackground { return; // Targetted compilation is ONLY for testing. UIKit is weak-linked in actual release build. - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV // The idea is to wait until any outstanding sets get written to disk. Since the sets might still be in our // dispatch queue, we wait for the dispatch queue to catch up and for persistence to catch up. // This may be undesirable though. The dispatch queue might just be processing a bunch of incoming data or diff --git a/Firebase/Database/Persistence/FLevelDBStorageEngine.m b/Firebase/Database/Persistence/FLevelDBStorageEngine.m index 490fb6c2f29..7de9ebf9318 100644 --- a/Firebase/Database/Persistence/FLevelDBStorageEngine.m +++ b/Firebase/Database/Persistence/FLevelDBStorageEngine.m @@ -211,7 +211,7 @@ - (void)close { } + (NSString *) firebaseDir { - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [dirPaths objectAtIndex:0]; return [documentsDir stringByAppendingPathComponent:@"firebase"]; diff --git a/Firebase/Database/Realtime/FWebSocketConnection.m b/Firebase/Database/Realtime/FWebSocketConnection.m index 0fd07e593de..49d6bd8f3dc 100644 --- a/Firebase/Database/Realtime/FWebSocketConnection.m +++ b/Firebase/Database/Realtime/FWebSocketConnection.m @@ -25,7 +25,7 @@ #import "FStringUtilities.h" #import "FIRDatabase_Private.h" -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #import #endif @@ -85,7 +85,7 @@ - (NSString *) userAgent { BOOL hasUiDeviceClass = NO; // Targetted compilation is ONLY for testing. UIKit is weak-linked in actual release build. - #if TARGET_OS_IOS + #if TARGET_OS_IOS || TARGET_OS_TV Class uiDeviceClass = NSClassFromString(@"UIDevice"); if (uiDeviceClass) { systemVersion = [uiDeviceClass currentDevice].systemVersion; diff --git a/Firebase/Database/third_party/SocketRocket/FSRWebSocket.m b/Firebase/Database/third_party/SocketRocket/FSRWebSocket.m index a2c857baa3b..c80dbb00631 100644 --- a/Firebase/Database/third_party/SocketRocket/FSRWebSocket.m +++ b/Firebase/Database/third_party/SocketRocket/FSRWebSocket.m @@ -18,7 +18,7 @@ #import "FSRWebSocket.h" -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #define HAS_ICU #endif @@ -28,7 +28,7 @@ #import #endif -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #import #elif TARGET_OS_OSX #import diff --git a/Firebase/Storage/FIRStorageUtils.m b/Firebase/Storage/FIRStorageUtils.m index 216b4b680c8..bc517ffaaf4 100644 --- a/Firebase/Storage/FIRStorageUtils.m +++ b/Firebase/Storage/FIRStorageUtils.m @@ -14,7 +14,7 @@ #import -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #import #elif TARGET_OS_OSX #import diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index 0addd756ec1..6b84f5d817d 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -19,6 +19,7 @@ supports email and password accounts, as well as several 3rd party authenticatio s.social_media_url = 'https://twitter.com/Firebase' s.ios.deployment_target = '7.0' s.osx.deployment_target = '10.10' + s.tvos.deployment_target = '10.0' s.cocoapods_version = '>= 1.4.0.beta.2' s.static_framework = true @@ -41,6 +42,13 @@ supports email and password accounts, as well as several 3rd party authenticatio source + '**/FIRPhoneAuthCredential.[mh]', source + '**/FIRPhoneAuthProvider.[mh]' ] + s.tvos.exclude_files = [ + source + '**/FIRAuthURLPresenter.[mh]', + source + '**/FIRAuthWebView.[mh]', + source + '**/FIRAuthWebViewController.[mh]', + source + '**/FIRPhoneAuthCredential.[mh]', + source + '**/FIRPhoneAuthProvider.[mh]' + ] s.public_header_files = source + 'Public/*.h' s.preserve_paths = [ 'Firebase/Auth/README.md', diff --git a/FirebaseCore.podspec b/FirebaseCore.podspec index 958a9367541..854815ef47c 100644 --- a/FirebaseCore.podspec +++ b/FirebaseCore.podspec @@ -18,6 +18,7 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration s.social_media_url = 'https://twitter.com/Firebase' s.ios.deployment_target = '7.0' s.osx.deployment_target = '10.10' + s.tvos.deployment_target = '10.0' s.cocoapods_version = '>= 1.4.0.beta.2' s.static_framework = true diff --git a/FirebaseDatabase.podspec b/FirebaseDatabase.podspec index 3f74718d251..6cb9af50ed6 100644 --- a/FirebaseDatabase.podspec +++ b/FirebaseDatabase.podspec @@ -18,6 +18,7 @@ Simplify your iOS development, grow your user base, and monetize more effectivel s.social_media_url = 'https://twitter.com/Firebase' s.ios.deployment_target = '7.0' s.osx.deployment_target = '10.10' + s.tvos.deployment_target = '10.0' s.cocoapods_version = '>= 1.4.0.beta.2' s.static_framework = true diff --git a/FirebaseStorage.podspec b/FirebaseStorage.podspec index 9b52e2f7876..7c3a8f6350d 100644 --- a/FirebaseStorage.podspec +++ b/FirebaseStorage.podspec @@ -18,6 +18,7 @@ Firebase Storage provides robust, secure file uploads and downloads from Firebas s.social_media_url = 'https://twitter.com/Firebase' s.ios.deployment_target = '7.0' s.osx.deployment_target = '10.10' + s.tvos.deployment_target = '10.0' s.cocoapods_version = '>= 1.4.0.beta.2' s.static_framework = true diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt index cffd0151422..9b90815da18 100644 --- a/Firestore/CMakeLists.txt +++ b/Firestore/CMakeLists.txt @@ -57,4 +57,5 @@ if(APPLE) endif(APPLE) enable_testing() +add_subdirectory(third_party/abseil-cpp EXCLUDE_FROM_ALL) add_subdirectory(core) diff --git a/Firestore/Example/Firestore.xcodeproj/project.pbxproj b/Firestore/Example/Firestore.xcodeproj/project.pbxproj index faed0b89db8..a8ad7997ced 100644 --- a/Firestore/Example/Firestore.xcodeproj/project.pbxproj +++ b/Firestore/Example/Firestore.xcodeproj/project.pbxproj @@ -24,6 +24,7 @@ /* Begin PBXBuildFile section */ 3B843E4C1F3A182900548890 /* remote_store_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 3B843E4A1F3930A400548890 /* remote_store_spec_test.json */; }; + 5436F32420008FAD006E51E3 /* string_printf_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5436F32320008FAD006E51E3 /* string_printf_test.cc */; }; 54740A571FC914BA00713A1A /* secure_random_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54740A531FC913E500713A1A /* secure_random_test.cc */; }; 54740A581FC914F000713A1A /* autoid_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54740A521FC913E500713A1A /* autoid_test.cc */; }; 54764FAB1FAA0C320085E60A /* string_util_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54764FAA1FAA0C320085E60A /* string_util_test.cc */; }; @@ -186,6 +187,7 @@ 3B843E4A1F3930A400548890 /* remote_store_spec_test.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = remote_store_spec_test.json; sourceTree = ""; }; 42491D7DC8C8CD245CC22B93 /* Pods-SwiftBuildTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftBuildTest.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SwiftBuildTest/Pods-SwiftBuildTest.debug.xcconfig"; sourceTree = ""; }; 4EBC5F5ABE1FD097EFE5E224 /* Pods-Firestore_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Example/Pods-Firestore_Example.release.xcconfig"; sourceTree = ""; }; + 5436F32320008FAD006E51E3 /* string_printf_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_printf_test.cc; path = ../../core/test/firebase/firestore/util/string_printf_test.cc; sourceTree = ""; }; 54740A521FC913E500713A1A /* autoid_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = autoid_test.cc; path = ../../core/test/firebase/firestore/util/autoid_test.cc; sourceTree = ""; }; 54740A531FC913E500713A1A /* secure_random_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = secure_random_test.cc; path = ../../core/test/firebase/firestore/util/secure_random_test.cc; sourceTree = ""; }; 54764FAA1FAA0C320085E60A /* string_util_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_util_test.cc; path = ../../Port/string_util_test.cc; sourceTree = ""; }; @@ -376,6 +378,7 @@ 54740A521FC913E500713A1A /* autoid_test.cc */, 54C2294E1FECABAE007D065B /* log_test.cc */, 54740A531FC913E500713A1A /* secure_random_test.cc */, + 5436F32320008FAD006E51E3 /* string_printf_test.cc */, ); name = util; sourceTree = ""; @@ -1186,6 +1189,7 @@ DE51B1F41F0D491B0013853F /* FSTRemoteEventTests.m in Sources */, 54E928241F33953300C1953E /* FSTEventAccumulator.m in Sources */, DE51B1D11F0D48CD0013853F /* FSTTargetIDGeneratorTests.m in Sources */, + 5436F32420008FAD006E51E3 /* string_printf_test.cc in Sources */, DE51B1EF1F0D49140013853F /* FSTDocumentTests.m in Sources */, DE51B1DC1F0D490D0013853F /* FSTLocalSerializerTests.m in Sources */, DE51B1E71F0D490D0013853F /* FSTRemoteDocumentChangeBufferTests.m in Sources */, @@ -1454,6 +1458,7 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/../../..\"", + "\"${PODS_ROOT}/../../../Firestore/third_party/abseil-cpp\"", "\"${PODS_ROOT}/leveldb-library/include\"", "\"${PODS_ROOT}/GoogleTest/googletest/include\"", ); @@ -1486,6 +1491,7 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/../../..\"", + "\"${PODS_ROOT}/../../../Firestore/third_party/abseil-cpp\"", "\"${PODS_ROOT}/leveldb-library/include\"", "\"${PODS_ROOT}/GoogleTest/googletest/include\"", ); diff --git a/Firestore/Protos/FrameworkMaker.xcodeproj/project.pbxproj b/Firestore/Protos/FrameworkMaker.xcodeproj/project.pbxproj index 51a61b81eae..2efcb210d67 100644 --- a/Firestore/Protos/FrameworkMaker.xcodeproj/project.pbxproj +++ b/Firestore/Protos/FrameworkMaker.xcodeproj/project.pbxproj @@ -201,7 +201,7 @@ ); inputPaths = ( "${SRCROOT}/Pods/Target Support Files/Pods-FrameworkMaker_iOS/Pods-FrameworkMaker_iOS-resources.sh", - "$PODS_CONFIGURATION_BUILD_DIR/gRPC/gRPCCertificates.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( diff --git a/Firestore/Protos/build-protos.sh b/Firestore/Protos/build-protos.sh index 4cfb12ed07e..f5570cb5e04 100755 --- a/Firestore/Protos/build-protos.sh +++ b/Firestore/Protos/build-protos.sh @@ -1,10 +1,13 @@ #!/bin/bash # Copyright 2017 Google +# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at +# # http://www.apache.org/licenses/LICENSE-2.0 +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -14,6 +17,31 @@ # Run this script from firebase-ios-sdk/Firestore/Protos to regnenerate the # Objective C files from the protos. +set -euo pipefail + +function StartCopyright() { + local filename="$1" + + cat > $filename <> $i.tmp + + mv $i.tmp $i done # Remove the unnecessary extensionRegistry functions. @@ -36,5 +72,8 @@ done # Remove non-buildable code from Annotations.pbobjc.*. -echo "static int annotations_stub __attribute__((unused,used)) = 0;" > objc/google/api/Annotations.pbobjc.m -echo "// Empty stub file" > objc/google/api/Annotations.pbobjc.h +StartCopyright objc/google/api/Annotations.pbobjc.m +echo "static int annotations_stub __attribute__((unused,used)) = 0;" >> objc/google/api/Annotations.pbobjc.m + +StartCopyright objc/google/api/Annotations.pbobjc.h +echo "// Empty stub file" >> objc/google/api/Annotations.pbobjc.h diff --git a/Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.m b/Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.m index 1d4404d87e7..a0db337d61e 100644 --- a/Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.m +++ b/Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.m @@ -32,12 +32,12 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "MaybeDocument.pbobjc.h" - #import "Document.pbobjc.h" - #import "Annotations.pbobjc.h" + #import "Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/firestore/local/Mutation.pbobjc.m b/Firestore/Protos/objc/firestore/local/Mutation.pbobjc.m index 8034143dbdd..aaefa00ae11 100644 --- a/Firestore/Protos/objc/firestore/local/Mutation.pbobjc.m +++ b/Firestore/Protos/objc/firestore/local/Mutation.pbobjc.m @@ -32,12 +32,12 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Mutation.pbobjc.h" - #import "Write.pbobjc.h" - #import "Annotations.pbobjc.h" + #import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/firestore/local/Target.pbobjc.m b/Firestore/Protos/objc/firestore/local/Target.pbobjc.m index 6f6ccf2ad27..ad034658129 100644 --- a/Firestore/Protos/objc/firestore/local/Target.pbobjc.m +++ b/Firestore/Protos/objc/firestore/local/Target.pbobjc.m @@ -32,12 +32,12 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Target.pbobjc.h" - #import "Firestore.pbobjc.h" - #import "Annotations.pbobjc.h" + #import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/api/HTTP.pbobjc.m b/Firestore/Protos/objc/google/api/HTTP.pbobjc.m index 5adf41ca631..007d0397e35 100644 --- a/Firestore/Protos/objc/google/api/HTTP.pbobjc.m +++ b/Firestore/Protos/objc/google/api/HTTP.pbobjc.m @@ -29,7 +29,7 @@ #import "GPBProtocolBuffers_RuntimeSupport.h" #endif - #import "HTTP.pbobjc.h" + #import "Firestore/Protos/objc/google/api/HTTP.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.m index 118f56e93bb..3775d73b60e 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.m @@ -32,11 +32,11 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Common.pbobjc.h" - #import "Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.m index 2c805c3e84c..86007f0c2cf 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.m @@ -33,13 +33,13 @@ #import #import #else - #import "Struct.pbobjc.h" - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Struct.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Document.pbobjc.h" - #import "Annotations.pbobjc.h" - #import "Latlng.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/type/Latlng.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.m index 4bdee01599f..4ed59a075e5 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.m @@ -33,17 +33,17 @@ #import #import #else - #import "Empty.pbobjc.h" - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Empty.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Firestore.pbobjc.h" - #import "Annotations.pbobjc.h" - #import "Common.pbobjc.h" - #import "Document.pbobjc.h" - #import "Query.pbobjc.h" - #import "Write.pbobjc.h" - #import "Status.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" + #import "Firestore/Protos/objc/google/rpc/Status.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.h b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.h index d7f127bc294..c8bc39de32d 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.h +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.h @@ -14,29 +14,57 @@ * limitations under the License. */ +#if !GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO #import "Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.h" +#endif #import #import #import #import -#import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" -#import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" -#import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" -#import "Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.h" -#import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" -#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS - #import -#else - #import "Empty.pbobjc.h" -#endif -#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS - #import +#if GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO + @class GCFSBatchGetDocumentsRequest; + @class GCFSBatchGetDocumentsResponse; + @class GCFSBeginTransactionRequest; + @class GCFSBeginTransactionResponse; + @class GCFSCommitRequest; + @class GCFSCommitResponse; + @class GCFSCreateDocumentRequest; + @class GCFSDeleteDocumentRequest; + @class GCFSDocument; + @class GCFSGetDocumentRequest; + @class GCFSListCollectionIdsRequest; + @class GCFSListCollectionIdsResponse; + @class GCFSListDocumentsRequest; + @class GCFSListDocumentsResponse; + @class GCFSListenRequest; + @class GCFSListenResponse; + @class GCFSRollbackRequest; + @class GCFSRunQueryRequest; + @class GCFSRunQueryResponse; + @class GCFSUpdateDocumentRequest; + @class GCFSWriteRequest; + @class GCFSWriteResponse; + @class GPBEmpty; #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" + #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS + #import + #else + #import "Firestore/Protos/objc/google/protobuf/Empty.pbobjc.h" + #endif + #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS + #import + #else + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" + #endif + #import "Firestore/Protos/objc/google/rpc/Status.pbobjc.h" #endif -#import "Firestore/Protos/objc/google/rpc/Status.pbobjc.h" NS_ASSUME_NONNULL_BEGIN diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.m index eec4c9a0d99..d2e2be1cde8 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.m @@ -15,9 +15,26 @@ */ #import "Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbrpc.h" +#import "Firestore/Protos/objc/google/firestore/v1beta1/Firestore.pbobjc.h" #import #import +#import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" +#import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" +#import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" +#import "Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.h" +#import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" +#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS + #import +#else + #import "Firestore/Protos/objc/google/protobuf/Empty.pbobjc.h" +#endif +#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS + #import +#else + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" +#endif +#import "Firestore/Protos/objc/google/rpc/Status.pbobjc.h" @implementation GCFSFirestore diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.m index 804a5d09316..b29dcfe200b 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.m @@ -32,12 +32,12 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Wrappers.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Wrappers.pbobjc.h" #endif - #import "Query.pbobjc.h" - #import "Annotations.pbobjc.h" - #import "Document.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Query.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.m b/Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.m index e6fd0f426f1..fc5db9afe41 100644 --- a/Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.m +++ b/Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.m @@ -32,13 +32,13 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Timestamp.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Timestamp.pbobjc.h" #endif - #import "Write.pbobjc.h" - #import "Annotations.pbobjc.h" - #import "Common.pbobjc.h" - #import "Document.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Write.pbobjc.h" + #import "Firestore/Protos/objc/google/api/Annotations.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Common.pbobjc.h" + #import "Firestore/Protos/objc/google/firestore/v1beta1/Document.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/rpc/Status.pbobjc.m b/Firestore/Protos/objc/google/rpc/Status.pbobjc.m index 831073cdd20..416095bda07 100644 --- a/Firestore/Protos/objc/google/rpc/Status.pbobjc.m +++ b/Firestore/Protos/objc/google/rpc/Status.pbobjc.m @@ -32,10 +32,10 @@ #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else - #import "Any.pbobjc.h" + #import "Firestore/Protos/objc/google/protobuf/Any.pbobjc.h" #endif - #import "Status.pbobjc.h" + #import "Firestore/Protos/objc/google/rpc/Status.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/Protos/objc/google/type/Latlng.pbobjc.m b/Firestore/Protos/objc/google/type/Latlng.pbobjc.m index 9bb37abff49..b9272daff64 100644 --- a/Firestore/Protos/objc/google/type/Latlng.pbobjc.m +++ b/Firestore/Protos/objc/google/type/Latlng.pbobjc.m @@ -29,7 +29,7 @@ #import "GPBProtocolBuffers_RuntimeSupport.h" #endif - #import "Latlng.pbobjc.h" + #import "Firestore/Protos/objc/google/type/Latlng.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push diff --git a/Firestore/core/src/firebase/firestore/util/CMakeLists.txt b/Firestore/core/src/firebase/firestore/util/CMakeLists.txt index d98efd34701..3028a956e8b 100644 --- a/Firestore/core/src/firebase/firestore/util/CMakeLists.txt +++ b/Firestore/core/src/firebase/firestore/util/CMakeLists.txt @@ -12,75 +12,73 @@ # See the License for the specific language governing permissions and # limitations under the License. +# firebase_firestore_util is the interface of this module. The rest of the +# libraries in here are an implementation detail of making this a +# mutli-platform build. + add_library( - firebase_firestore_util - autoid.cc + firebase_firestore_util_base secure_random_arc4random.cc + string_printf.cc ) - -# log_stdio can be built and tested everywhere -add_library( - firebase_firestore_util_log_stdio - log_stdio.cc +target_link_libraries( + firebase_firestore_util_base + PUBLIC + absl_base ) -# assert_stdio can be built and tested everywhere +# stdio-dependent bits can be built and tested everywhere add_library( - firebase_firestore_util_assert_stdio + firebase_firestore_util_stdio assert_stdio.cc + log_stdio.cc ) target_link_libraries( - firebase_firestore_util_assert_stdio - firebase_firestore_util_log_stdio + firebase_firestore_util_stdio + PUBLIC + firebase_firestore_util_base ) -# log_apple and assert_apple can only built and tested on apple plaforms +# apple-dependent bits can only built and tested on apple plaforms if(APPLE) add_library( - firebase_firestore_util_log_apple - log_apple.mm - ) - add_library( - firebase_firestore_util_assert_apple + firebase_firestore_util_apple assert_apple.mm + log_apple.mm ) target_compile_options( - firebase_firestore_util_log_apple - PRIVATE - ${OBJC_FLAGS} - ) - target_compile_options( - firebase_firestore_util_assert_apple + firebase_firestore_util_apple PRIVATE ${OBJC_FLAGS} ) target_link_libraries( - firebase_firestore_util_log_apple + firebase_firestore_util_apple PUBLIC FirebaseCore ) - target_link_libraries( - firebase_firestore_util_assert_apple - firebase_firestore_util_log_apple - ) endif(APPLE) +add_library( + firebase_firestore_util + autoid.cc +) + # Export a dependency on the correct logging library for this platform. All # buildable libraries are built and tested but only the best fit is exported. if(APPLE) target_link_libraries( firebase_firestore_util PUBLIC - firebase_firestore_util_assert_apple - firebase_firestore_util_log_apple + firebase_firestore_util_apple + firebase_firestore_util_base ) else(NOT APPLE) target_link_libraries( firebase_firestore_util PUBLIC - firebase_firestore_util_assert_stdio - firebase_firestore_util_log_stdio + firebase_firestore_util_stdio + firebase_firestore_util_base ) endif(APPLE) diff --git a/Firestore/core/src/firebase/firestore/util/string_printf.cc b/Firestore/core/src/firebase/firestore/util/string_printf.cc new file mode 100644 index 00000000000..60cc5644f14 --- /dev/null +++ b/Firestore/core/src/firebase/firestore/util/string_printf.cc @@ -0,0 +1,101 @@ +/* + * Copyright 2018 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/firebase/firestore/util/string_printf.h" + +#include + +namespace firebase { +namespace firestore { +namespace util { + +void StringAppendV(std::string* dst, const char* format, va_list ap) { + // First try with a small fixed size buffer + static const int kSpaceLength = 1024; + char space[kSpaceLength]; + + // It's possible for methods that use a va_list to invalidate + // the data in it upon use. The fix is to make a copy + // of the structure before using it and use that copy instead. + va_list backup_ap; + va_copy(backup_ap, ap); + int result = vsnprintf(space, kSpaceLength, format, backup_ap); + va_end(backup_ap); + + if (result < kSpaceLength) { + if (result >= 0) { + // Normal case -- everything fit. + dst->append(space, result); + return; + } + +#ifdef _MSC_VER + // Error or MSVC running out of space. MSVC 8.0 and higher + // can be asked about space needed with the special idiom below: + va_copy(backup_ap, ap); + result = vsnprintf(nullptr, 0, format, backup_ap); + va_end(backup_ap); +#endif + + if (result < 0) { + // Just an error. + return; + } + } + + // Increase the buffer size to the size requested by vsnprintf, + // plus one for the closing \0. + size_t initial_size = dst->size(); + size_t target_size = initial_size + result; + + dst->resize(target_size + 1); + char* buf = &(*dst)[initial_size]; + int buf_remain = result + 1; + + // Restore the va_list before we use it again + va_copy(backup_ap, ap); + result = vsnprintf(buf, buf_remain, format, backup_ap); + va_end(backup_ap); + + if (result >= 0 && result < buf_remain) { + // It fit and vsnprintf copied in directly. Resize down one to + // remove the trailing \0. + dst->resize(target_size); + } else { + // Didn't fit. Leave the original string unchanged. + dst->resize(initial_size); + } +} + +std::string StringPrintf(const char* format, ...) { + va_list ap; + va_start(ap, format); + std::string result; + StringAppendV(&result, format, ap); + va_end(ap); + return result; +} + +void StringAppendF(std::string* dst, const char* format, ...) { + va_list ap; + va_start(ap, format); + StringAppendV(dst, format, ap); + va_end(ap); +} + +} // namespace util +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/firebase/firestore/util/string_printf.h b/Firestore/core/src/firebase/firestore/util/string_printf.h new file mode 100644 index 00000000000..9e2b9c0054d --- /dev/null +++ b/Firestore/core/src/firebase/firestore/util/string_printf.h @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_STRING_PRINTF_H_ +#define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_STRING_PRINTF_H_ + +#include + +#include + +#include + +namespace firebase { +namespace firestore { +namespace util { + +/** Return a C++ string. */ +std::string StringPrintf(const char* format, ...) + ABSL_PRINTF_ATTRIBUTE(1, 2); + +/** Append result to a supplied string. */ +void StringAppendF(std::string* dst, const char* format, ...) + ABSL_PRINTF_ATTRIBUTE(2, 3); + +/** + * Lower-level routine that takes a va_list and appends to a specified + * string. All other routines are just convenience wrappers around it. + */ +void StringAppendV(std::string* dst, const char* format, va_list ap); + +} // namespace util +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_UTIL_STRING_FORMAT_H_ diff --git a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt index 346c1e59d81..e51bb51484a 100644 --- a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt +++ b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt @@ -16,6 +16,7 @@ cc_test( firebase_firestore_util_test autoid_test.cc secure_random_test.cc + string_printf_test.cc ) target_link_libraries( firebase_firestore_util_test @@ -24,38 +25,22 @@ target_link_libraries( if(APPLE) cc_test( - firebase_firestore_util_log_apple_test - log_test.cc - ) - target_link_libraries( - firebase_firestore_util_log_apple_test - firebase_firestore_util_log_apple - ) - cc_test( - firebase_firestore_util_assert_apple_test + firebase_firestore_util_apple_test assert_test.cc + log_test.cc ) target_link_libraries( - firebase_firestore_util_assert_apple_test - firebase_firestore_util_assert_apple + firebase_firestore_util_apple_test + firebase_firestore_util_apple ) endif(APPLE) cc_test( - firebase_firestore_util_log_stdio_test - log_test.cc -) -target_link_libraries( - firebase_firestore_util_log_stdio_test - firebase_firestore_util_log_stdio -) - -cc_test( - firebase_firestore_util_assert_stdio_test + firebase_firestore_util_stdio_test assert_test.cc + log_test.cc ) target_link_libraries( - firebase_firestore_util_assert_stdio_test - firebase_firestore_util_assert_stdio + firebase_firestore_util_stdio_test + firebase_firestore_util_stdio ) - diff --git a/Firestore/core/test/firebase/firestore/util/string_printf_test.cc b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc new file mode 100644 index 00000000000..76f7cde5c33 --- /dev/null +++ b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc @@ -0,0 +1,78 @@ +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/firebase/firestore/util/string_printf.h" + +#include + +namespace firebase { +namespace firestore { +namespace util { + +TEST(StringPrintf, Empty) { + EXPECT_EQ("", StringPrintf("")); + EXPECT_EQ("", StringPrintf("%s", std::string().c_str())); + EXPECT_EQ("", StringPrintf("%s", "")); +} + +TEST(StringAppendFTest, Empty) { + std::string value("Hello"); + const char* empty = ""; + StringAppendF(&value, "%s", empty); + EXPECT_EQ("Hello", value); +} + +TEST(StringAppendFTest, EmptyString) { + std::string value("Hello"); + StringAppendF(&value, "%s", ""); + EXPECT_EQ("Hello", value); +} + +TEST(StringAppendFTest, String) { + std::string value("Hello"); + StringAppendF(&value, " %s", "World"); + EXPECT_EQ("Hello World", value); +} + +TEST(StringAppendFTest, Int) { + std::string value("Hello"); + StringAppendF(&value, " %d", 123); + EXPECT_EQ("Hello 123", value); +} + +TEST(StringPrintf, DontOverwriteErrno) { + // Check that errno isn't overwritten unless we're printing + // something significantly larger than what people are normally + // printing in their badly written PLOG() statements. + errno = ECHILD; + std::string value = StringPrintf("Hello, %s!", "World"); + EXPECT_EQ(ECHILD, errno); +} + +TEST(StringPrintf, LargeBuf) { + // Check that the large buffer is handled correctly. + int n = 2048; + char* buf = new char[n + 1]; + memset(buf, ' ', n); + buf[n] = 0; + std::string value = StringPrintf("%s", buf); + EXPECT_EQ(buf, value); + delete[] buf; +} + +} // namespace util +} // namespace firestore +} // namespace firebase diff --git a/Firestore/third_party/abseil-cpp/CMakeLists.txt b/Firestore/third_party/abseil-cpp/CMakeLists.txt index 1c53a72e34c..b25a0065e86 100644 --- a/Firestore/third_party/abseil-cpp/CMakeLists.txt +++ b/Firestore/third_party/abseil-cpp/CMakeLists.txt @@ -53,7 +53,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_WARNING_VLA} ${CMAKE_CXX_FLAGS} ") ## pthread find_package(Threads REQUIRED) -find_package(GTest REQUIRED) +# commented: used only for standalone test +#add_subdirectory(cctz) +#add_subdirectory(googletest) + +## check targets +check_target(GTest::GTest) +check_target(GTest::Main) # -fexceptions set(ABSL_EXCEPTIONS_FLAG "${CMAKE_CXX_EXCEPTIONS}") diff --git a/Gemfile.lock b/Gemfile.lock index ea2bdde2c97..a9afaaa573c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,11 @@ GIT remote: https://github.com/CocoaPods/CocoaPods.git - revision: 71211b5046cb1c9f5ad33e45d42f16b43eabfb8f + revision: 88276c47b6b57f423f9ded45e0df29c53cadc71d specs: - cocoapods (1.4.0.beta.2) + cocoapods (1.4.0.rc.1) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.4.0.beta.2) + cocoapods-core (= 1.4.0.rc.1) cocoapods-deintegrate (>= 1.0.1, < 2.0) cocoapods-downloader (>= 1.1.3, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -20,22 +20,22 @@ GIT molinillo (~> 0.6.4) nap (~> 1.0) ruby-macho (~> 1.1) - xcodeproj (>= 1.5.3, < 2.0) + xcodeproj (>= 1.5.4, < 2.0) GIT remote: https://github.com/CocoaPods/Core.git - revision: 8cf88a076d916cf80821744a59ca1c431ccc046f + revision: 33299ada83b98e1c7ec117f4d4d67055b2247a19 specs: - cocoapods-core (1.4.0.beta.2) + cocoapods-core (1.4.0.rc.1) activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) GIT remote: https://github.com/CocoaPods/Xcodeproj.git - revision: aa866f4bd3f4269ae4ad1ec340ae077524f8e24d + revision: 976144e24bd68a7f34fbfeeeb6b408cfda247fdd specs: - xcodeproj (1.5.3) + xcodeproj (1.5.4) CFPropertyList (~> 2.3.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) @@ -44,7 +44,7 @@ GIT GEM remote: https://rubygems.org/ specs: - CFPropertyList (2.3.5) + CFPropertyList (2.3.6) activesupport (4.2.10) i18n (~> 0.7) minitest (~> 5.1) @@ -69,7 +69,7 @@ GEM gh_inspector (1.0.3) i18n (0.9.1) concurrent-ruby (~> 1.0) - minitest (5.10.3) + minitest (5.11.1) molinillo (0.6.4) nanaimo (0.2.3) nap (1.1.0) @@ -88,4 +88,4 @@ DEPENDENCIES xcodeproj! BUNDLED WITH - 1.15.4 + 1.16.0 diff --git a/README.md b/README.md index e14e096c8a6..9e2f8ea4140 100644 --- a/README.md +++ b/README.md @@ -132,16 +132,18 @@ We've seen an amazing amount of interest and contributions to improve the Fireba very grateful! We'd like to empower as many developers as we can to be able to use Firebase and participate in the Firebase community. -### macOS +### macOS and tvOS FirebaseAuth, FirebaseCore, FirebaseDatabase and FirebaseStorage now compile, run unit tests, and -work on macOS, thanks to contributions from the community. There are a few tweaks needed, like -ensuring iOS-only or macOS-only code is correctly guarded with checks for `TARGET_OS_IOS` and -`TARGET_OS_OSX`. - -Keep in mind that macOS is not officially supported by Firebase, and this repository is actively -developed primarily for iOS. While we can catch basic unit test issues with Travis, there may be -some changes where the SDK no longer works as expected on macOS. If you encounter this, please -[file an issue](https://github.com/firebase/firebase-ios-sdk/issues) for it. +work on macOS and tvOS, thanks to contributions from the community. There are a few tweaks needed, +like ensuring iOS-only, macOS-only, or tvOS-only code is correctly guarded with checks for +`TARGET_OS_IOS`, `TARGET_OS_OSX` and `TARGET_OS_TV`. + +For tvOS, checkout the [Sample](Example/tvOSSample). + +Keep in mind that macOS and tvOS are not officially supported by Firebase, and this repository is +actively developed primarily for iOS. While we can catch basic unit test issues with Travis, there +may be some changes where the SDK no longer works as expected on macOS or tvOS. If you encounter +this, please [file an issue](https://github.com/firebase/firebase-ios-sdk/issues). ## Roadmap diff --git a/cmake/external/abseil-cpp.cmake b/cmake/external/abseil-cpp.cmake deleted file mode 100644 index d29b7d5c05b..00000000000 --- a/cmake/external/abseil-cpp.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2017 Google -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include(ExternalProject) - -set(source_dir ${PROJECT_SOURCE_DIR}/Firestore/third_party/abseil-cpp) -set(binary_dir ${PROJECT_BINARY_DIR}/Firestore/third_party/abseil-cpp) - -ExternalProject_Add( - abseil-cpp - DEPENDS googletest - - PREFIX "${binary_dir}" - SOURCE_DIR "${source_dir}" - BINARY_DIR "${binary_dir}" - - INSTALL_DIR "${FIREBASE_INSTALL_DIR}" - INSTALL_COMMAND "" - TEST_BEFORE_INSTALL ON - - CMAKE_ARGS - -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX:PATH= -) diff --git a/cmake/external/firestore.cmake b/cmake/external/firestore.cmake index 61f79f31b5b..1abb629c36d 100644 --- a/cmake/external/firestore.cmake +++ b/cmake/external/firestore.cmake @@ -19,7 +19,7 @@ set(binary_dir ${PROJECT_BINARY_DIR}/Firestore) ExternalProject_Add( Firestore - DEPENDS abseil-cpp FirebaseCore googletest leveldb + DEPENDS FirebaseCore googletest leveldb # Lay the binary directory out as if this were a subproject. This makes it # possible to build and test in it directly. diff --git a/test.sh b/test.sh index 627fbad9c6a..367205a9110 100755 --- a/test.sh +++ b/test.sh @@ -18,7 +18,7 @@ test_iOS() { -workspace Example/Firebase.xcworkspace \ -scheme AllUnitTests_iOS \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=10.3.1,name=iPhone 7' \ + -destination 'platform=iOS Simulator,name=iPhone 7' \ build \ test \ ONLY_ACTIVE_ARCH=YES \ @@ -39,6 +39,19 @@ test_macOS() { | xcpretty } +test_tvOS() { + xcodebuild \ + -workspace Example/Firebase.xcworkspace \ + -scheme AllUnitTests_tvOS \ + -sdk appletvsimulator \ + -destination 'platform=tvOS Simulator,name=Apple TV' \ + build \ + test \ + ONLY_ACTIVE_ARCH=YES \ + CODE_SIGNING_REQUIRED=NO \ + | xcpretty +} + test_iOS; RESULT=$? if [ $RESULT != 0 ]; then exit $RESULT; fi @@ -54,5 +67,9 @@ fi if [ $RESULT != 0 ]; then exit $RESULT; fi +test_tvOS; RESULT=$? + +if [ $RESULT != 0 ]; then exit $RESULT; fi + # Also test Firestore Firestore/test.sh