Skip to content

Commit 3ca4e99

Browse files
authored
Stop requiring pods to be static frameworks (#6557)
1 parent 5546f96 commit 3ca4e99

37 files changed

+200
-143
lines changed

AddNewPod.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ detailed instructions. Some Firebase specific guidance below:
1313
* `s.deployment_target` - Ideally should include ios, osx, and tvos. See
1414
[FirebaseCore.podspec](FirebaseCore.podspec) for the current Firebase minimum version settings.
1515

16-
* `s.static_framework` - By default, Firebase pods should be static frameworks.
17-
1816
* `s.dependency` - Dependencies on other Firebase pods and pods in this repo should specify a
1917
version and allow minor version updates - like `s.dependency 'FirebaseCore', '~> 6.6'`. When
2018
initially defined, choose the most recently released minor version of the dependency.

FirebaseABTesting.podspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ Firebase Cloud Messaging and Firebase Remote Config in your app.
2525
s.tvos.deployment_target = '10.0'
2626

2727
s.cocoapods_version = '>= 1.4.0'
28-
s.static_framework = true
2928
s.prefix_header_file = false
3029

3130
base_dir = "FirebaseABTesting/Sources/"

FirebaseAppDistribution.podspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ iOS SDK for App Distribution for Firebase.
1818
s.ios.deployment_target = '10.0'
1919

2020
s.cocoapods_version = '>= 1.4.0'
21-
s.static_framework = true
2221
s.prefix_header_file = false
2322

2423
base_dir = "FirebaseAppDistribution/Sources/"

FirebaseAuth.podspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ supports email and password accounts, as well as several 3rd party authenticatio
2323
s.watchos.deployment_target = '6.0'
2424

2525
s.cocoapods_version = '>= 1.4.0'
26-
s.static_framework = true
2726
s.prefix_header_file = false
2827

2928
source = 'FirebaseAuth/Sources/'

FirebaseCore.podspec

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration
2222
s.watchos.deployment_target = '6.0'
2323

2424
s.cocoapods_version = '>= 1.4.0'
25-
s.static_framework = true
2625
s.prefix_header_file = false
2726

2827
s.source_files = [
@@ -54,20 +53,27 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration
5453
}
5554
s.test_spec 'unit' do |unit_tests|
5655
unit_tests.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
57-
unit_tests.source_files = 'FirebaseCore/Tests/Unit/**/*.[mh]'
56+
unit_tests.source_files = [
57+
'FirebaseCore/Tests/Unit/**/*.[mh]',
58+
'SharedTestUtilities/FIROptionsMock.[mh]',
59+
]
5860
unit_tests.requires_app_host = true
5961
unit_tests.dependency 'OCMock'
6062
unit_tests.resources = 'FirebaseCore/Tests/Unit/Resources/GoogleService-Info.plist'
6163
end
6264

6365
s.test_spec 'swift-unit' do |swift_unit_tests|
6466
swift_unit_tests.platforms = {:ios => '8.0', :osx => '10.11', :tvos => '10.0'}
65-
swift_unit_tests.source_files = 'FirebaseCore/Tests/SwiftUnit/**/*.swift',
66-
'FirebaseCore/Tests/SwiftUnit/**/*.h',
67-
'FirebaseCore/Tests/SwiftUnit/SwiftTestingUtilities/*'
68-
swift_unit_tests.resources = 'FirebaseCore/Tests/Unit/Resources/GoogleService-Info.plist'
67+
swift_unit_tests.source_files = [
68+
'FirebaseCore/Tests/SwiftUnit/**/*.swift',
69+
'FirebaseCore/Tests/SwiftUnit/**/*.h',
70+
'FirebaseCore/Tests/SwiftUnit/SwiftTestingUtilities/*',
71+
'SharedTestUtilities/FIROptionsMock.[mh]',
72+
]
6973
swift_unit_tests.pod_target_xcconfig = {
7074
'SWIFT_OBJC_BRIDGING_HEADER' => '$(PODS_TARGET_SRCROOT)/FirebaseCore/Tests/SwiftUnit/FirebaseCore-unit-Bridging-Header.h'
7175
}
76+
swift_unit_tests.dependency 'OCMock'
77+
swift_unit_tests.resources = 'FirebaseCore/Tests/Unit/Resources/GoogleService-Info.plist'
7278
end
7379
end

FirebaseCore/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
- [changed] Update minimum iOS version to iOS 10 except for Analytics which is now iOS 9. (#4847)
33
- [changed] Update minimum macOS version to 10.12.
44
- [added] Swift Package Manager support for Firebase Messaging. (#5641)
5+
- [changed] The pods developed in this repo are no longer hard coded to be built as static
6+
frameworks. Instead, their linkage will be controlled by the Podfile. Use the Podfile
7+
option `use_frameworks! :linkage => :static` to get the Firebase 6.x linkage behavior. (#2022)
58

69
# Firebase 6.33.0
710
- [fixed] Swift Package Manager - Define system framework and system library dependencies. This

FirebaseCore/Tests/SwiftUnit/FirebaseAppTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ private extension Constants {
2323
class FirebaseAppTests: XCTestCase {
2424
override func setUp() {
2525
super.setUp()
26+
FIROptionsMock.mockFIROptions()
2627
}
2728

2829
override func tearDown() {

FirebaseCore/Tests/SwiftUnit/FirebaseCore-unit-Bridging-Header.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@
1414

1515
#import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h"
1616
#import "FirebaseCore/Tests/SwiftUnit/SwiftTestingUtilities/ExceptionCatcher.h"
17+
#import "SharedTestUtilities/FIROptionsMock.h"

FirebaseCore/Tests/Unit/FIRAppTest.m

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
#import "FirebaseCore/Sources/Private/FIRAppInternal.h"
2020
#import "FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h"
2121
#import "FirebaseCore/Sources/Private/FIROptionsInternal.h"
22-
2322
#import "GoogleUtilities/Environment/Private/GULAppEnvironmentUtil.h"
23+
#import "SharedTestUtilities/FIROptionsMock.h"
2424

2525
NSString *const kFIRTestAppName1 = @"test_app_name_1";
2626
NSString *const kFIRTestAppName2 = @"test-app-name-2";
@@ -68,9 +68,7 @@ - (void)setUp {
6868
_observerMock = OCMObserverMock();
6969
_mockCoreDiagnosticsConnector = OCMClassMock([FIRCoreDiagnosticsConnector class]);
7070

71-
#if SWIFT_PACKAGE
72-
[self mockFIROptions];
73-
#endif
71+
[FIROptionsMock mockFIROptions];
7472

7573
OCMStub(ClassMethod([self.mockCoreDiagnosticsConnector logCoreTelemetryWithOptions:[OCMArg any]]))
7674
.andDo(^(NSInvocation *invocation){

FirebaseCore/Tests/Unit/FIRBundleUtilTest.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#import "FirebaseCore/Sources/FIRBundleUtil.h"
1818
#import "GoogleUtilities/Environment/Private/GULAppEnvironmentUtil.h"
19+
#import "SharedTestUtilities/FIROptionsMock.h"
1920

2021
static NSString *const kResultPath = @"resultPath";
2122
static NSString *const kResourceName = @"resourceName";

0 commit comments

Comments
 (0)