Procházet zdrojové kódy

cherry-picks and versions for 6.8.1 (#3805)

* Fix SIGSEGV in callback after block is nil'd (#3786)

* Remove UIWebViewDelegate references (#3799)

* Fix header issues exposed by :generate_multiple_pod_projects (#3803)

* cherry-picks and versions for 6.8.1
Paul Beusterien před 6 roky
rodič
revize
4387ed9b79

+ 1 - 1
Example/InstanceID/Tests/FIRInstanceIDCheckinServiceTest.m

@@ -16,12 +16,12 @@
 
 #import <XCTest/XCTest.h>
 
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 #import <OCMock/OCMock.h>
 #import "Firebase/InstanceID/FIRInstanceIDCheckinPreferences+Internal.h"
 #import "Firebase/InstanceID/FIRInstanceIDCheckinService.h"
 #import "Firebase/InstanceID/FIRInstanceIDUtilities.h"
 #import "Firebase/InstanceID/NSError+FIRInstanceID.h"
-#import "Firebase/InstanceID/Private/FIRInstanceIDCheckinPreferences.h"
 
 static NSString *const kDeviceAuthId = @"1234";
 static NSString *const kSecretToken = @"567890";

+ 1 - 1
Example/InstanceID/Tests/FIRInstanceIDCheckinStoreTest.m

@@ -18,6 +18,7 @@
 
 #import <OCMock/OCMock.h>
 
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 #import "FIRInstanceIDFakeKeychain.h"
 #import "Firebase/InstanceID/FIRInstanceIDAuthKeyChain.h"
 #import "Firebase/InstanceID/FIRInstanceIDBackupExcludedPlist.h"
@@ -27,7 +28,6 @@
 #import "Firebase/InstanceID/FIRInstanceIDStore.h"
 #import "Firebase/InstanceID/FIRInstanceIDUtilities.h"
 #import "Firebase/InstanceID/FIRInstanceIDVersionUtilities.h"
-#import "Firebase/InstanceID/Private/FIRInstanceIDCheckinPreferences.h"
 
 static const NSTimeInterval kExpectationTimeout = 12;
 

+ 1 - 1
Example/InstanceID/Tests/FIRInstanceIDStoreTest.m

@@ -16,6 +16,7 @@
 
 #import <XCTest/XCTest.h>
 
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 #import <OCMock/OCMock.h>
 #import "FIRInstanceIDFakeKeychain.h"
 #import "Firebase/InstanceID/FIRInstanceIDBackupExcludedPlist.h"
@@ -26,7 +27,6 @@
 #import "Firebase/InstanceID/FIRInstanceIDTokenInfo.h"
 #import "Firebase/InstanceID/FIRInstanceIDTokenStore.h"
 #import "Firebase/InstanceID/FIRInstanceIDUtilities.h"
-#import "Firebase/InstanceID/Private/FIRInstanceIDCheckinPreferences.h"
 
 static NSString *const kSubDirectoryName = @"FirebaseInstanceIDStoreTest";
 

+ 1 - 1
Example/InstanceID/Tests/FIRInstanceIDTokenOperationsTest.m

@@ -16,6 +16,7 @@
 
 #import <XCTest/XCTest.h>
 
+#import <FirebaseInstanceID/FIRInstanceID.h>
 #import <OCMock/OCMock.h>
 #import "Firebase/InstanceID/FIRInstanceIDAuthService.h"
 #import "Firebase/InstanceID/FIRInstanceIDCheckinPreferences+Internal.h"
@@ -30,7 +31,6 @@
 #import "Firebase/InstanceID/FIRInstanceIDTokenOperation+Private.h"
 #import "Firebase/InstanceID/FIRInstanceIDTokenOperation.h"
 #import "Firebase/InstanceID/NSError+FIRInstanceID.h"
-#import "Firebase/InstanceID/Public/FIRInstanceID.h"
 
 #import <FirebaseCore/FIRAppInternal.h>
 

+ 1 - 1
Example/Podfile

@@ -21,7 +21,7 @@ target 'Core_Example_iOS' do
   # The next line is the forcing function for the Firebase pod. The Firebase
   # version's subspecs should depend on the component versions in the
   # corresponding podspec's in this repo.
-  pod 'Firebase/CoreOnly', '6.8.0'
+  pod 'Firebase/CoreOnly', '6.8.1'
 
   target 'Core_Tests_iOS' do
     inherit! :search_paths

+ 3 - 0
Firebase/DynamicLinks/CHANGELOG.md

@@ -1,3 +1,6 @@
+# v4.0.5
+- [fixed] Removed references to UIWebViewDelegate to comply with App Store Submission warning. (#3722)
+
 # v4.0.4
 - [fixed] Removed references to UIWebView to comply with App Store Submission warning. (#3722)
 

+ 1 - 9
Firebase/DynamicLinks/FIRDLJavaScriptExecutor.m

@@ -18,14 +18,6 @@
 
 #import "DynamicLinks/FIRDLJavaScriptExecutor.h"
 
-// define below needed because nullability of UIWebViewDelegate method param was changed between
-// iOS SDK versions
-#if (defined(__IPHONE_10_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0))
-#define FIRDL_NULLABLE_IOS9_NONNULLABLE_IOS10 nonnull
-#else
-#define FIRDL_NULLABLE_IOS9_NONNULLABLE_IOS10 nullable
-#endif
-
 NS_ASSUME_NONNULL_BEGIN
 
 static NSString *const kJSMethodName = @"generateFingerprint";
@@ -50,7 +42,7 @@ NSString *GINFingerprintJSMethodString() {
   return methodString;
 }
 
-@interface FIRDLJavaScriptExecutor () <UIWebViewDelegate, WKNavigationDelegate>
+@interface FIRDLJavaScriptExecutor () <WKNavigationDelegate>
 @end
 
 @implementation FIRDLJavaScriptExecutor {

+ 3 - 0
Firebase/InstanceID/CHANGELOG.md

@@ -1,3 +1,6 @@
+# 2019-09 -- 4.2.5
+- [fixed] Fix private header imports (#3796).
+
 # 2019-09 -- 4.2.4
 - [changed] Moved two headers from internal to private for Remote Config open sourcing (#3621).
 

+ 1 - 1
Firebase/InstanceID/FIRInstanceIDCheckinPreferences+Internal.h

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#import "Private/FIRInstanceIDCheckinPreferences.h"
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 
 @interface FIRInstanceIDCheckinPreferences (Internal)
 

+ 1 - 1
Firebase/InstanceID/FIRInstanceIDCheckinPreferences_Private.h

@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#import "Private/FIRInstanceIDCheckinPreferences.h"
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 
 /** Checkin refresh interval. **/
 FOUNDATION_EXPORT const NSTimeInterval kFIRInstanceIDDefaultCheckinInterval;

+ 1 - 14
Firebase/InstanceID/FIRInstanceIDCheckinService.h

@@ -16,6 +16,7 @@
 
 #import <Foundation/Foundation.h>
 
+#import <FirebaseInstanceID/FIRInstanceID+Private.h>
 #import "FIRInstanceIDUtilities.h"
 
 NS_ASSUME_NONNULL_BEGIN
@@ -31,20 +32,6 @@ FOUNDATION_EXPORT NSString *const kFIRInstanceIDDeviceDataVersionKey;
 
 @class FIRInstanceIDCheckinPreferences;
 
-/**
- *  @related FIRInstanceIDCheckinService
- *
- *  The completion handler invoked once the fetch from Checkin server finishes.
- *  For successful fetches we returned checkin information by the checkin service
- *  and `nil` error, else we return the appropriate error object as reported by the
- *  Checkin Service.
- *
- *  @param checkinPreferences The checkin preferences as fetched from the server.
- *  @param error              The error object which fetching GServices data.
- */
-typedef void (^FIRInstanceIDDeviceCheckinCompletion)(
-    FIRInstanceIDCheckinPreferences *_Nullable checkinPreferences, NSError *_Nullable error);
-
 /**
  *  Register the device with Checkin Service and get back the `authID`, `secret
  *  token` etc. for the client. Checkin results are cached in the

+ 15 - 2
Firebase/InstanceID/Private/FIRInstanceID+Private.h

@@ -14,9 +14,22 @@
  * limitations under the License.
  */
 
-#import "FIRInstanceID.h"
+#import <FirebaseInstanceID/FIRInstanceID.h>
+#import <FirebaseInstanceID/FIRInstanceIDCheckinPreferences.h>
 
-#import "FIRInstanceIDCheckinService.h"
+/**
+ *  @related FIRInstanceIDCheckinService
+ *
+ *  The completion handler invoked once the fetch from Checkin server finishes.
+ *  For successful fetches we returned checkin information by the checkin service
+ *  and `nil` error, else we return the appropriate error object as reported by the
+ *  Checkin Service.
+ *
+ *  @param checkinPreferences The checkin preferences as fetched from the server.
+ *  @param error              The error object which fetching GServices data.
+ */
+typedef void (^FIRInstanceIDDeviceCheckinCompletion)(
+    FIRInstanceIDCheckinPreferences *_Nullable checkinPreferences, NSError *_Nullable error);
 
 /**
  * Private API used by Firebase SDK teams by calling in reflection or internal teams.

+ 3 - 0
Firebase/Storage/CHANGELOG.md

@@ -1,3 +1,6 @@
+# 3.4.1
+- [fixed] Fix crash in FIRStorageUploadTask (#3750).
+
 # 3.4.0
 - [fixed] Ensure that users don't accidently invoke `Storage()` instead of `Storage.storage()`.
   If your code calls the constructor of Storage directly, we will throw an assertion failure,

+ 3 - 4
Firebase/Storage/FIRStorageUploadTask.m

@@ -141,8 +141,6 @@
     // Process fetches
     strongSelf.state = FIRStorageTaskStateRunning;
 
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Warc-retain-cycles"
     strongSelf->_fetcherCompletion = ^(NSData *_Nullable data, NSError *_Nullable error) {
       // Fire last progress updates
       [self fireHandlersForStatus:FIRStorageTaskStatusProgress snapshot:self.snapshot];
@@ -172,11 +170,12 @@
 
       [self finishTaskWithStatus:FIRStorageTaskStatusSuccess snapshot:self.snapshot];
     };
-#pragma clang diagnostic pop
 
     [strongSelf->_uploadFetcher
         beginFetchWithCompletionHandler:^(NSData *_Nullable data, NSError *_Nullable error) {
-          weakSelf.fetcherCompletion(data, error);
+          if (weakSelf.fetcherCompletion != nil) {
+            weakSelf.fetcherCompletion(data, error);
+          }
         }];
   }];
 }

+ 2 - 2
FirebaseCore.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseCore'
-  s.version          = '6.2.2'
+  s.version          = '6.2.3'
   s.summary          = 'Firebase Core for iOS (plus community support for macOS and tvOS)'
 
   s.description      = <<-DESC
@@ -39,7 +39,7 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration
   s.pod_target_xcconfig = {
     'GCC_C_LANGUAGE_STANDARD' => 'c99',
     'GCC_PREPROCESSOR_DEFINITIONS' =>
-      'FIRCore_VERSION=' + s.version.to_s + ' Firebase_VERSION=6.8.0',
+      'FIRCore_VERSION=' + s.version.to_s + ' Firebase_VERSION=6.8.1',
     'OTHER_CFLAGS' => '-fno-autolink'
   }
   s.test_spec 'unit' do |unit_tests|

+ 1 - 1
FirebaseDynamicLinks.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseDynamicLinks'
-  s.version          = '4.0.4'
+  s.version          = '4.0.5'
   s.summary          = 'Firebase DynamicLinks for iOS'
 
   s.description      = <<-DESC

+ 1 - 1
FirebaseInstanceID.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseInstanceID'
-  s.version          = '4.2.4'
+  s.version          = '4.2.5'
   s.summary          = 'Firebase InstanceID for iOS'
 
   s.description      = <<-DESC

+ 1 - 1
FirebaseStorage.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'FirebaseStorage'
-  s.version          = '3.4.0'
+  s.version          = '3.4.1'
   s.summary          = 'Firebase Storage for iOS (plus community support for macOS and tvOS)'
 
   s.description      = <<-DESC

+ 1 - 1
Firestore/Example/Podfile

@@ -96,7 +96,7 @@ target 'Firestore_Example_iOS' do
   # The next line is the forcing function for the Firebase pod. The Firebase
   # version's subspecs should depend on the component versions in their
   # corresponding podspecs.
-  pod 'Firebase/CoreOnly', '6.8.0'
+  pod 'Firebase/CoreOnly', '6.8.1'
 
   configure_local_pods()
 

+ 6 - 0
Releases/Manifests/6.8.1.json

@@ -0,0 +1,6 @@
+{
+  "FirebaseCore":"6.2.3",
+  "FirebaseDynamicLinks":"4.0.5",
+  "FirebaseInstanceID":"4.2.5",
+  "FirebaseStorage":"3.4.1"
+}

+ 1 - 1
SymbolCollisionTest/Podfile

@@ -8,7 +8,7 @@ target 'SymbolCollisionTest' do
   # use_frameworks!
 
   # Firebase Pods
-    pod 'Firebase', '6.8.0'
+    pod 'Firebase', '6.8.1'
     pod 'FirebaseAnalytics'
     pod 'FirebaseAuth'
     pod 'FirebaseCore'