Skip to content

Commit e4f7f12

Browse files
jonsimantovdconeybesunmou99a-maurice
authored
Update to Firebase iOS SDK 9.0.0 with necessary changes for Swift support and Firestore (#915)
* Remove the patch to enable Snappy support * firestore_patch.py: also copy the URL_HASH * query_main.h: fix build error due to Filter being renamed to FieldFilter. * user_data_converter_main.cc: fix build error when calling NullValue(), which now just returns a google_firestore_v1_Value instead of a Message<google_firestore_v1_Value> * Merge in #896 (leveldb_snappy_test.cc: run the test on iOS as well, and other improvements) * leveldb_snappy_test.cc: re-use the test from the iOS SDK instead of re-writing it. * leveldb_snappy_test.cc: add a newline at the end of the file. * query_main.h: add missing #include "Firestore/core/src/core/field_filter.h" * Set the FIRESTORE_INCLUDE_OBJC cmake cache var to NO to avoid building Objective-C parts of the iOS SDK This fixes the following build error: ``` FIRFirestore.h:147:20: error: unknown attribute 'swift_async' ignored [-Werror,-Wunknown-attributes] __attribute__((swift_async(none))); // Disable async import due to #9426. ^ 1 error generated. ``` which was introduced by firebase/firebase-ios-sdk#9502 * external/pip_requirements.txt: add six This is an attempt to fix the following build error: ``` Traceback (most recent call last): File "Firestore/Protos/tmphmjWeu.py", line 25, in <module> import nanopb_generator as nanopb File "nanopb/generator/nanopb_generator.py", line 25, in <module> import google.protobuf.text_format as text_format File "protobuf/python/google/protobuf/text_format.py", line 51, in <module> import six ImportError: No module named six ``` e.g. https://github.com/firebase/firebase-cpp-sdk/runs/6034310890 * Improve FIREBASE_PYTHON_EXECUTABLE cmake cache var and make its usage ubiquitous * firestore.cmake: bump pinned commit * Revert "external/pip_requirements.txt: add six" since it didn't fix the problem. This reverts commit 56553d9. * firestore.cmake: fix pinned commit * Revert "Improve FIREBASE_PYTHON_EXECUTABLE cmake cache var and make its usage ubiquitous" It seemed to cause problems with the build. There is a better way in the iOS SDK anyways. This reverts commit c6346fd. * firestore.cmake: update pinned commit * CMakeLists.txt: Set FIRESTORE_INCLUDE_OBJC as a cache variable so it actually works * query_main.cc: IsBefore(BoundPosition) -> IsInclusive(BoundPosition) This fixes several test failures due to incorrect handling of startAfter and endBefore resulting from a change in core::Bound from "before" to "inclusive" in firebase/firebase-ios-sdk#9519 Namely, this fixes the following failure: ``` cursor_test.cc:250: Failure Expected equality of these values: std::vector<std::string>({"c", "f", "b", "e"}) Which is: { "c", "f", "b", "e" } QuerySnapshotToIds(snapshot) Which is: { "c", "f" } [ FAILED ] FirestoreIntegrationTest.TimestampsCanBePassedToQueriesAsLimits ``` e.g. https://github.com/firebase/firebase-cpp-sdk/runs/6044737005 * firestore.cmake: update pinned commit * Use staging repo and update to 9.0 podfiles. Add Swift headers from 9.0.0 zip release. * Remove streaming support, as it fails with the new Swift SDK. * Enable Firestore and Admob. * Remove AdMob for now - it's broken in 7.69.0-cppsdk. * Don't process swift headers if already processed * fix nightly version tag * Fix update dependencies script * Support directories with spaces * Exclude swift headers from linter. * Fix whitespace * Fix comma * Fix whitespace. * Fix Firestore external file. * Restore new external file and fix include path. * Fix include files and paths to be compatible with C++ build. * Format code. * Add NOLINT * Remove included test with bad include path. * Fix internal test podfile * Fix podfiles * Revert some junk that got pulled in when #898 was merged into this branch * Temporarily remove admob from integration_tests.yml too. * integration_tests.yml: remove admob from another place, since it still seems to be being built * Revert "integration_tests.yml: remove admob from another place, since it still seems to be being built" This reverts commit fc6b845. * Revert "Temporarily remove admob from integration_tests.yml too." This reverts commit 32aec7e. * Add AdMob back in and refer to new version in staging. * Speed up update-dependencies zip distribution usage * Fix substitution. * Fix header formatting * Fix spacing. * Update Xcode version to 12.5.1 and add tests to 13.2.1 * Add new version to readme * Change Functions iOS SDK and tvOS SDK version to 12.4 (minimum for Swift). * Since FIRStorageMetadata no longer implements NSCopying, copy it a different way. * Change deployment version to 12.4 for Storage, required for Swift support. * Update analytics headers from 9.0.0 Analytics RC. * Add note about removal of deprecated analytics constants. * Set analytics deployment target * Set deployment targets * Add empty Swift file to sample framework. * Switch Podfile postprocessing to use python3 * Add empty Swift file to integration test project. * Add empty Swift file to analytics project * Add empty.swift to remaining integration test projects. * Check to make sure that the controller can pause/resume/etc. * Workaround for pause/cancel/resume semantics changing in 9.x. * Switch from nightly to release tag for Firestore external dep. * Update Xcode version to 13.2.1, required version for iOS SDK. * Change deployment target back to 10.x. * Fix iOS deployment version back to 10.0 * Add notes about including a swift file * Change comparison to lower-case to prevent restore_secrets overriding it. * Clean up the verbose log of file size * firestore_snappy.patch.txt: remove the patching for firebase/firebase-ios-sdk#9662 (Create individual Python virtualenv's in cmake builds) since it's incorporated into the CocoaPods-9.0.0.nightly tag * CHERRY PICK from main branch: leveldb_snappy_test.cc: run the test on iOS as well, and other improvements (#896) This change improves the leveldb_snappy_test.cc to provide stronger guarantees of expected behavior. * Set block storage for task variable. * Fix server key. * Format code. * test iOS simulator devices * Windows compatibility for strcasecmp * test iOS simulator devices * Update Swift header to include copy method; revert Storage to use it. * upload ios projects artifacts * Temporarily disable a test that fails on device when built from cmdline. * Update the testing Xcode version to 13.3.1 * Change xcode version to 13.3.1 and macos runners to macos-12. * Restore simulator versions back to previous values * Reworded some release notes. (Also replaced a couple tabs with spaces.) * Revert "upload ios projects artifacts" This reverts commit e04d6a6. * Fix Swift header script to work with multiple URLs. * Update Swift headers for final 9.0.0 release * Add readme about ios_pod directory and its swift_headers subdirectory * Remove staging repo from podfiles. (#923) * If the zip file can't be downloaded, just skip that step. Co-authored-by: Denver Coneybeare <[email protected]> Co-authored-by: Mou <[email protected]> Co-authored-by: Mou Sun <[email protected]> Co-authored-by: a-maurice <[email protected]>
1 parent 266456e commit e4f7f12

File tree

75 files changed

+3953
-857
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+3953
-857
lines changed

.github/workflows/android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
env:
1414
CCACHE_DIR: ${{ github.workspace }}/ccache_dir
1515
GITHUB_TOKEN: ${{ github.token }}
16-
xcodeVersion: "13.1" # Only affects Mac runners, and only for prerequisites.
16+
xcodeVersion: "13.3.1" # Only affects Mac runners, and only for prerequisites.
1717

1818
concurrency:
1919
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}

.github/workflows/cpp-packaging.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ env:
3232
demumbleVer: "1.1.0"
3333
# Use SHA256 for hashing files.
3434
hashCommand: "sha256sum"
35-
# Xcode version 13.1 is the version we build the SDK with.
35+
# Xcode version 13.3.1 is the version we build the SDK with.
3636
# Our MacOS runners will use the version in /Applications/Xcode_${xcodeVersion}.app
37-
xcodeVersion: "13.1"
37+
xcodeVersion: "13.3.1"
3838
# LLVM version with ARM MachO support has no version number yet.
3939
llvmVer: "5f187f0afaad33013ba03454c4749d99b1362534"
4040
GITHUB_TOKEN: ${{ github.token }}

.github/workflows/update-dependencies.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,37 @@ jobs:
122122
cd -
123123
rm -rf "${podtmp}"
124124
fi
125+
126+
# Download the zip distribution and get the Swift header files.
127+
core_version=$(grep "pod 'Firebase/Core'" ios_pod/Podfile | sed "s/.*'\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)'.*/\1/")
128+
echo "Getting Swift header files from Firebase iOS SDK ${core_version} zip distribution"
129+
ziptmp="$(mktemp -d)"
130+
# The version might be named vX.Y.Z or simply X.Y.Z, check which exists.
131+
declare -a zip_urls
132+
zip_urls=("https://github.com/firebase/firebase-ios-sdk/releases/download/v${core_version}/Firebase.zip" "https://github.com/firebase/firebase-ios-sdk/releases/download/${core_version}/Firebase.zip")
133+
for try_url in ${zip_urls[@]} error; do
134+
curl -H 'Authorization: token ${{ github.token }}' -L -f "${try_url}" -o "${ziptmp}/Firebase.zip" 2> /dev/null && break
135+
done
136+
if [[ "${try_url}" == "error" ]]; then
137+
echo "::error ::Could not download Firebase iOS prebuilt zip file, skipping Swift headers."
138+
else
139+
cd "${ziptmp}"
140+
echo "Unzipping..."
141+
unzip -q Firebase.zip '*-Swift.h'
142+
cd -
143+
# Copy all *-Swift.h header files into ios_pod/swift_headers/
144+
echo "Copying headers..."
145+
find "${ziptmp}" -name '*-Swift.h' -print0 | xargs -0 -n 1 -J REPLACETEXT cp -f REPLACETEXT ios_pod/swift_headers/
146+
copyright_line="// Copyright $(date +%Y) Google LLC"
147+
# Add a note to each file about its source.
148+
for ios_header in ios_pod/swift_headers/*.h; do
149+
if ! grep -q "^// Copied from Firebase iOS SDK" "${ios_header}"; then
150+
sed -i~ "s|^// Generated by Apple Swift|${copyright_line}\n// Copied from Firebase iOS SDK ${core_version}.\n\n// Generated by Apple Swift|" "${ios_header}"
151+
fi
152+
python3 scripts/format_code.py --f "${ios_header}"
153+
done
154+
fi
155+
rm -rf ${ziptmp}
125156
elif [[ ${{ github.event.inputs.updateAndroid }} -eq 1 ]]; then
126157
# Update Android only
127158
echo "Updating Android dependencies only"

admob/integration_test/Podfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ platform :ios, '10.0'
44
use_frameworks! :linkage => :static
55

66
target 'integration_test' do
7-
pod 'Firebase/Analytics', '8.15.0'
8-
pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk'
7+
pod 'Firebase/Analytics', '9.0.0'
8+
pod 'Google-Mobile-Ads-SDK', '7.69.0-cppsdk2'
99
end
1010

1111
post_install do |installer|
1212
# If this is running from inside the SDK directory, run the setup script.
13-
system("if [[ -r ../../setup_integration_tests.py ]]; then python ../../setup_integration_tests.py .; fi")
14-
system("/usr/bin/python ./download_googletest.py")
13+
system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi")
14+
system("python3 ./download_googletest.py")
1515
end
1616

admob/integration_test/integration_test.xcodeproj/project.pbxproj

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
D61C5F8E22BABA9C00A79141 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D61C5F8C22BABA9B00A79141 /* Images.xcassets */; };
1515
D61C5F9622BABAD200A79141 /* integration_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D61C5F9222BABAD100A79141 /* integration_test.cc */; };
1616
D62CCBC022F367140099BE9F /* gmock-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D62CCBBF22F367140099BE9F /* gmock-all.cc */; };
17+
D640F3172819C85800AC956E /* empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D640F3162819C85800AC956E /* empty.swift */; };
1718
D66B16871CE46E8900E5638A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D66B16861CE46E8900E5638A /* LaunchScreen.storyboard */; };
1819
D67D355822BABD2200292C1D /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D67D355622BABD2100292C1D /* gtest-all.cc */; };
1920
D6C179E922CB322900C2651A /* ios_app_framework.mm in Sources */ = {isa = PBXBuildFile; fileRef = D6C179E722CB322900C2651A /* ios_app_framework.mm */; };
@@ -34,6 +35,7 @@
3435
D61C5F9222BABAD100A79141 /* integration_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = integration_test.cc; path = src/integration_test.cc; sourceTree = "<group>"; };
3536
D62CCBBF22F367140099BE9F /* gmock-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gmock-all.cc"; path = "external/googletest/src/googlemock/src/gmock-all.cc"; sourceTree = "<group>"; };
3637
D62CCBC122F367320099BE9F /* gmock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gmock.h; path = external/googletest/src/googlemock/include/gmock/gmock.h; sourceTree = "<group>"; };
38+
D640F3162819C85800AC956E /* empty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = empty.swift; path = src/empty.swift; sourceTree = "<group>"; };
3739
D66B16861CE46E8900E5638A /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
3840
D67D355622BABD2100292C1D /* gtest-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gtest-all.cc"; path = "external/googletest/src/googletest/src/gtest-all.cc"; sourceTree = "<group>"; };
3941
D67D355722BABD2100292C1D /* gtest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gtest.h; path = external/googletest/src/googletest/include/gtest/gtest.h; sourceTree = "<group>"; };
@@ -94,6 +96,7 @@
9496
5292271D1C85FB5500C89379 /* src */ = {
9597
isa = PBXGroup;
9698
children = (
99+
D640F3162819C85800AC956E /* empty.swift */,
97100
D62CCBC122F367320099BE9F /* gmock.h */,
98101
D62CCBBF22F367140099BE9F /* gmock-all.cc */,
99102
D67D355622BABD2100292C1D /* gtest-all.cc */,
@@ -149,6 +152,7 @@
149152
529226D11C85F68000C89379 = {
150153
CreatedOnToolsVersion = 6.4;
151154
DevelopmentTeam = EQHXZ8M8AV;
155+
LastSwiftMigration = 1320;
152156
ProvisioningStyle = Automatic;
153157
};
154158
};
@@ -158,6 +162,7 @@
158162
developmentRegion = English;
159163
hasScannedForEncodings = 0;
160164
knownRegions = (
165+
English,
161166
en,
162167
);
163168
mainGroup = 529226C91C85F68000C89379;
@@ -193,6 +198,7 @@
193198
D6C179EA22CB322900C2651A /* ios_firebase_test_framework.mm in Sources */,
194199
D61C5F9622BABAD200A79141 /* integration_test.cc in Sources */,
195200
D6C179E922CB322900C2651A /* ios_app_framework.mm in Sources */,
201+
D640F3172819C85800AC956E /* empty.swift in Sources */,
196202
D6C179F022CB32A000C2651A /* app_framework.cc in Sources */,
197203
D6C179EE22CB323300C2651A /* firebase_test_framework.cc in Sources */,
198204
);
@@ -286,6 +292,7 @@
286292
buildSettings = {
287293
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
288294
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
295+
CLANG_ENABLE_MODULES = YES;
289296
CODE_SIGN_IDENTITY = "iPhone Developer";
290297
CODE_SIGN_STYLE = Automatic;
291298
DEVELOPMENT_TEAM = "";
@@ -303,8 +310,11 @@
303310
"\"$(SRCROOT)/external/googletest/src/googlemock\"",
304311
);
305312
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
313+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
306314
PRODUCT_NAME = "$(TARGET_NAME)";
307315
PROVISIONING_PROFILE_SPECIFIER = "";
316+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
317+
SWIFT_VERSION = 5.0;
308318
WRAPPER_EXTENSION = app;
309319
};
310320
name = Debug;
@@ -314,6 +324,7 @@
314324
buildSettings = {
315325
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
316326
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
327+
CLANG_ENABLE_MODULES = YES;
317328
CODE_SIGN_IDENTITY = "iPhone Developer";
318329
CODE_SIGN_STYLE = Automatic;
319330
DEVELOPMENT_TEAM = "";
@@ -331,8 +342,10 @@
331342
"\"$(SRCROOT)/external/googletest/src/googlemock\"",
332343
);
333344
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
345+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
334346
PRODUCT_NAME = "$(TARGET_NAME)";
335347
PROVISIONING_PROFILE_SPECIFIER = "";
348+
SWIFT_VERSION = 5.0;
336349
WRAPPER_EXTENSION = app;
337350
};
338351
name = Release;

analytics/integration_test/Podfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ use_frameworks! :linkage => :static
55

66
target 'integration_test' do
77
platform :ios, '10.0'
8-
pod 'Firebase/Analytics', '8.15.0'
8+
pod 'Firebase/Analytics', '9.0.0'
99
end
1010

1111
target 'integration_test_tvos' do
1212
platform :tvos, '12.0'
13-
pod 'Firebase/Analytics', '8.15.0'
13+
pod 'Firebase/Analytics', '9.0.0'
1414
end
1515

1616
post_install do |installer|
1717
# If this is running from inside the SDK directory, run the setup script.
18-
system("if [[ -r ../../setup_integration_tests.py ]]; then python ../../setup_integration_tests.py .; fi")
19-
system("/usr/bin/python ./download_googletest.py")
18+
system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi")
19+
system("python3 ./download_googletest.py")
2020
end
2121

analytics/integration_test/integration_test.xcodeproj/project.pbxproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
D61C5F9622BABAD200A79141 /* integration_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D61C5F9222BABAD100A79141 /* integration_test.cc */; };
2929
D62CCBC022F367140099BE9F /* gmock-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D62CCBBF22F367140099BE9F /* gmock-all.cc */; };
3030
D66B16871CE46E8900E5638A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D66B16861CE46E8900E5638A /* LaunchScreen.storyboard */; };
31+
D66D22512819C88C009FAEB5 /* empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D66D22502819C88C009FAEB5 /* empty.swift */; };
32+
D66D22522819C88C009FAEB5 /* empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D66D22502819C88C009FAEB5 /* empty.swift */; };
3133
D67D355822BABD2200292C1D /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D67D355622BABD2100292C1D /* gtest-all.cc */; };
3234
D6C179E922CB322900C2651A /* ios_app_framework.mm in Sources */ = {isa = PBXBuildFile; fileRef = D6C179E722CB322900C2651A /* ios_app_framework.mm */; };
3335
D6C179EA22CB322900C2651A /* ios_firebase_test_framework.mm in Sources */ = {isa = PBXBuildFile; fileRef = D6C179E822CB322900C2651A /* ios_firebase_test_framework.mm */; };
@@ -56,6 +58,7 @@
5658
D62CCBBF22F367140099BE9F /* gmock-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gmock-all.cc"; path = "external/googletest/src/googlemock/src/gmock-all.cc"; sourceTree = "<group>"; };
5759
D62CCBC122F367320099BE9F /* gmock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gmock.h; path = external/googletest/src/googlemock/include/gmock/gmock.h; sourceTree = "<group>"; };
5860
D66B16861CE46E8900E5638A /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
61+
D66D22502819C88C009FAEB5 /* empty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = empty.swift; path = src/empty.swift; sourceTree = "<group>"; };
5962
D67D355622BABD2100292C1D /* gtest-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gtest-all.cc"; path = "external/googletest/src/googletest/src/gtest-all.cc"; sourceTree = "<group>"; };
6063
D67D355722BABD2100292C1D /* gtest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gtest.h; path = external/googletest/src/googletest/include/gtest/gtest.h; sourceTree = "<group>"; };
6164
D6C179E722CB322900C2651A /* ios_app_framework.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ios_app_framework.mm; path = src/ios/ios_app_framework.mm; sourceTree = "<group>"; };
@@ -132,6 +135,7 @@
132135
5292271D1C85FB5500C89379 /* src */ = {
133136
isa = PBXGroup;
134137
children = (
138+
D66D22502819C88C009FAEB5 /* empty.swift */,
135139
D62CCBC122F367320099BE9F /* gmock.h */,
136140
D62CCBBF22F367140099BE9F /* gmock-all.cc */,
137141
D67D355622BABD2100292C1D /* gtest-all.cc */,
@@ -215,10 +219,12 @@
215219
529226D11C85F68000C89379 = {
216220
CreatedOnToolsVersion = 6.4;
217221
DevelopmentTeam = EQHXZ8M8AV;
222+
LastSwiftMigration = 1320;
218223
ProvisioningStyle = Automatic;
219224
};
220225
BC1D664B2668D109005DC2DA = {
221226
CreatedOnToolsVersion = 12.5;
227+
LastSwiftMigration = 1320;
222228
ProvisioningStyle = Automatic;
223229
};
224230
};
@@ -323,6 +329,7 @@
323329
D6C179EA22CB322900C2651A /* ios_firebase_test_framework.mm in Sources */,
324330
D61C5F9622BABAD200A79141 /* integration_test.cc in Sources */,
325331
D6C179E922CB322900C2651A /* ios_app_framework.mm in Sources */,
332+
D66D22512819C88C009FAEB5 /* empty.swift in Sources */,
326333
D6C179F022CB32A000C2651A /* app_framework.cc in Sources */,
327334
D6C179EE22CB323300C2651A /* firebase_test_framework.cc in Sources */,
328335
);
@@ -337,6 +344,7 @@
337344
BC1D66622668D287005DC2DA /* gmock-all.cc in Sources */,
338345
BC1D66672668D2BE005DC2DA /* ios_app_framework.mm in Sources */,
339346
BC1D66642668D2B3005DC2DA /* app_framework.cc in Sources */,
347+
D66D22522819C88C009FAEB5 /* empty.swift in Sources */,
340348
BC1D66632668D2AF005DC2DA /* gtest-all.cc in Sources */,
341349
BC1D66652668D2B6005DC2DA /* firebase_test_framework.cc in Sources */,
342350
);
@@ -449,6 +457,7 @@
449457
buildSettings = {
450458
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
451459
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
460+
CLANG_ENABLE_MODULES = YES;
452461
CODE_SIGN_IDENTITY = "iPhone Developer";
453462
CODE_SIGN_STYLE = Automatic;
454463
DEVELOPMENT_TEAM = "";
@@ -466,8 +475,11 @@
466475
"\"$(SRCROOT)/external/googletest/src/googlemock\"",
467476
);
468477
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
478+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
469479
PRODUCT_NAME = "$(TARGET_NAME)";
470480
PROVISIONING_PROFILE_SPECIFIER = "";
481+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
482+
SWIFT_VERSION = 5.0;
471483
WRAPPER_EXTENSION = app;
472484
};
473485
name = Debug;
@@ -477,6 +489,7 @@
477489
buildSettings = {
478490
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
479491
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
492+
CLANG_ENABLE_MODULES = YES;
480493
CODE_SIGN_IDENTITY = "iPhone Developer";
481494
CODE_SIGN_STYLE = Automatic;
482495
DEVELOPMENT_TEAM = "";
@@ -494,8 +507,10 @@
494507
"\"$(SRCROOT)/external/googletest/src/googlemock\"",
495508
);
496509
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
510+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
497511
PRODUCT_NAME = "$(TARGET_NAME)";
498512
PROVISIONING_PROFILE_SPECIFIER = "";
513+
SWIFT_VERSION = 5.0;
499514
WRAPPER_EXTENSION = app;
500515
};
501516
name = Release;
@@ -508,6 +523,7 @@
508523
CLANG_ANALYZER_NONNULL = YES;
509524
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
510525
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
526+
CLANG_ENABLE_MODULES = YES;
511527
CLANG_ENABLE_OBJC_WEAK = YES;
512528
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
513529
CLANG_WARN_COMMA = YES;
@@ -546,6 +562,8 @@
546562
PRODUCT_BUNDLE_IDENTIFIER = com.google.ios.analytics.testapp;
547563
PRODUCT_NAME = "$(TARGET_NAME)";
548564
SDKROOT = appletvos;
565+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
566+
SWIFT_VERSION = 5.0;
549567
TARGETED_DEVICE_FAMILY = 3;
550568
TVOS_DEPLOYMENT_TARGET = 10.1;
551569
};
@@ -559,6 +577,7 @@
559577
CLANG_ANALYZER_NONNULL = YES;
560578
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
561579
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
580+
CLANG_ENABLE_MODULES = YES;
562581
CLANG_ENABLE_OBJC_WEAK = YES;
563582
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
564583
CLANG_WARN_COMMA = YES;
@@ -595,6 +614,7 @@
595614
PRODUCT_BUNDLE_IDENTIFIER = com.google.ios.analytics.testapp;
596615
PRODUCT_NAME = "$(TARGET_NAME)";
597616
SDKROOT = appletvos;
617+
SWIFT_VERSION = 5.0;
598618
TARGETED_DEVICE_FAMILY = 3;
599619
TVOS_DEPLOYMENT_TARGET = 10.1;
600620
};

0 commit comments

Comments
 (0)