Skip to content

Commit bb1e04f

Browse files
authored
feat(firebaseai): add spm support for firebase_ai, and update example to running with spm (#18159)
* add spm support for firebase_ai, and update example to running with spm * remove unnecessary test file * delete one more non-necessary test file * try to fix review comments * delete * this package doesn't need cSettings * fix formatter * add firebase_ai to the github swift integration workflow
1 parent e9c99ef commit bb1e04f

12 files changed

Lines changed: 183 additions & 64 deletions

File tree

.github/workflows/all_plugins.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ jobs:
136136
runs-on: macos-15
137137
timeout-minutes: 45
138138
env:
139-
FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_ml_model_downloader firebase_app_installations"
139+
FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_crashlytics firebase_ml_model_downloader firebase_app_installations firebase_ai"
140140
PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }}
141141
steps:
142142
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938

packages/firebase_ai/firebase_ai/example/.metadata

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,26 @@
44
# This file should be version controlled and should not be manually edited.
55

66
version:
7-
revision: "2615ab6c1932e44e6802aaba8dc715b387ff155f"
8-
channel: "main"
7+
revision: "aa1d2edd012bbf31e58827bf3ac7010c10991e20"
8+
channel: "beta"
99

1010
project_type: app
1111

1212
# Tracks metadata for the flutter migrate command
1313
migration:
1414
platforms:
1515
- platform: root
16-
create_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f
17-
base_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f
16+
create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
17+
base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
18+
- platform: ios
19+
create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
20+
base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
21+
- platform: macos
22+
create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
23+
base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
1824
- platform: android
19-
create_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f
20-
base_revision: 2615ab6c1932e44e6802aaba8dc715b387ff155f
25+
create_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
26+
base_revision: aa1d2edd012bbf31e58827bf3ac7010c10991e20
2127

2228
# User provided section
2329

packages/firebase_ai/firebase_ai/example/ios/Flutter/AppFrameworkInfo.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
2323
<key>MinimumOSVersion</key>
24-
<string>12.0</string>
24+
<string>15.0</string>
2525
</dict>
2626
</plist>

packages/firebase_ai/firebase_ai/example/ios/Podfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ flutter_ios_podfile_setup
2929

3030
target 'Runner' do
3131
use_frameworks!
32-
use_modular_headers!
3332

3433
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
3534
target 'RunnerTests' do

packages/firebase_ai/firebase_ai/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
5F1FA05866A2D0FCA3287B20 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = "<group>"; };
5656
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
5757
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
58+
784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = Flutter/ephemeral/Packages/.packages/FlutterFramework; sourceTree = "<group>"; };
59+
78DABEA22ED26510000E7860 /* firebase_ai */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = firebase_ai; path = ../../ios/firebase_ai; sourceTree = "<group>"; };
60+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = "<group>"; };
5861
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
5962
8ACDC47C7E9AF1A1B9595598 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
6063
94CE5BFCDF90764354BB6740 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -115,6 +118,9 @@
115118
9740EEB11CF90186004384FC /* Flutter */ = {
116119
isa = PBXGroup;
117120
children = (
121+
78DABEA22ED26510000E7860 /* firebase_ai */,
122+
784666492D4C4C64000A1A5F /* FlutterFramework */,
123+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
118124
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
119125
9740EEB21CF90195004384FC /* Debug.xcconfig */,
120126
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
@@ -195,14 +201,14 @@
195201
isa = PBXNativeTarget;
196202
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
197203
buildPhases = (
198-
F51794D56D63ACA383D5C2E4 /* [CP] Check Pods Manifest.lock */,
204+
65E1413F3D5F0EF9AF4CD1AB /* [CP] Check Pods Manifest.lock */,
199205
9740EEB61CF901F6004384FC /* Run Script */,
200206
97C146EA1CF9000F007C117D /* Sources */,
201207
97C146EB1CF9000F007C117D /* Frameworks */,
202208
97C146EC1CF9000F007C117D /* Resources */,
203209
9705A1C41CF9048500538489 /* Embed Frameworks */,
204210
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
205-
34F21DFC67109DEAFD936E80 /* [CP] Embed Pods Frameworks */,
211+
7C03669E7720256A458F4A2F /* [CP] Embed Pods Frameworks */,
206212
);
207213
buildRules = (
208214
);
@@ -281,23 +287,6 @@
281287
/* End PBXResourcesBuildPhase section */
282288

283289
/* Begin PBXShellScriptBuildPhase section */
284-
34F21DFC67109DEAFD936E80 /* [CP] Embed Pods Frameworks */ = {
285-
isa = PBXShellScriptBuildPhase;
286-
buildActionMask = 2147483647;
287-
files = (
288-
);
289-
inputFileListPaths = (
290-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
291-
);
292-
name = "[CP] Embed Pods Frameworks";
293-
outputFileListPaths = (
294-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
295-
);
296-
runOnlyForDeploymentPostprocessing = 0;
297-
shellPath = /bin/sh;
298-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
299-
showEnvVarsInLog = 0;
300-
};
301290
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
302291
isa = PBXShellScriptBuildPhase;
303292
alwaysOutOfDate = 1;
@@ -314,42 +303,59 @@
314303
shellPath = /bin/sh;
315304
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
316305
};
317-
9740EEB61CF901F6004384FC /* Run Script */ = {
306+
65E1413F3D5F0EF9AF4CD1AB /* [CP] Check Pods Manifest.lock */ = {
318307
isa = PBXShellScriptBuildPhase;
319-
alwaysOutOfDate = 1;
320308
buildActionMask = 2147483647;
321309
files = (
322310
);
311+
inputFileListPaths = (
312+
);
323313
inputPaths = (
314+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
315+
"${PODS_ROOT}/Manifest.lock",
316+
);
317+
name = "[CP] Check Pods Manifest.lock";
318+
outputFileListPaths = (
324319
);
325-
name = "Run Script";
326320
outputPaths = (
321+
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
327322
);
328323
runOnlyForDeploymentPostprocessing = 0;
329324
shellPath = /bin/sh;
330-
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
325+
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";
326+
showEnvVarsInLog = 0;
331327
};
332-
F51794D56D63ACA383D5C2E4 /* [CP] Check Pods Manifest.lock */ = {
328+
7C03669E7720256A458F4A2F /* [CP] Embed Pods Frameworks */ = {
333329
isa = PBXShellScriptBuildPhase;
334330
buildActionMask = 2147483647;
335331
files = (
336332
);
337333
inputFileListPaths = (
334+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
338335
);
339-
inputPaths = (
340-
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
341-
"${PODS_ROOT}/Manifest.lock",
342-
);
343-
name = "[CP] Check Pods Manifest.lock";
336+
name = "[CP] Embed Pods Frameworks";
344337
outputFileListPaths = (
338+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
339+
);
340+
runOnlyForDeploymentPostprocessing = 0;
341+
shellPath = /bin/sh;
342+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
343+
showEnvVarsInLog = 0;
344+
};
345+
9740EEB61CF901F6004384FC /* Run Script */ = {
346+
isa = PBXShellScriptBuildPhase;
347+
alwaysOutOfDate = 1;
348+
buildActionMask = 2147483647;
349+
files = (
345350
);
351+
inputPaths = (
352+
);
353+
name = "Run Script";
346354
outputPaths = (
347-
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
348355
);
349356
runOnlyForDeploymentPostprocessing = 0;
350357
shellPath = /bin/sh;
351-
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";
352-
showEnvVarsInLog = 0;
358+
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
353359
};
354360
F5C7CFE0E232B64D613F0623 /* [CP] Check Pods Manifest.lock */ = {
355361
isa = PBXShellScriptBuildPhase;

packages/firebase_ai/firebase_ai/example/macos/Podfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ flutter_macos_podfile_setup
2828

2929
target 'Runner' do
3030
use_frameworks!
31-
use_modular_headers!
3231

3332
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
3433
target 'RunnerTests' do

packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.pbxproj

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
3131
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
3232
3D1CF19370CB8E26E5C667A5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4DAA18FE8B79A454BF3F8CB /* Pods_Runner.framework */; };
33+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
3334
/* End PBXBuildFile section */
3435

3536
/* Begin PBXContainerItemProxy section */
@@ -85,11 +86,14 @@
8586
587C61AFC0E2B0BF5340F8E8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
8687
5C2B5E4F1CE100E1FA5D9DC5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
8788
766A2E414AFDFA56243527A6 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
89+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = "<group>"; };
8890
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
8991
816B0EE72BF94FC5261D04E6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
9092
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
9193
A2911B8EF91B3925874FDE6A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
9294
C4DAA18FE8B79A454BF3F8CB /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
95+
784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = ephemeral/Packages/.packages/FlutterFramework; sourceTree = "<group>"; };
96+
78DABEA22ED26510000E7860 /* firebase_ai */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = firebase_ai; path = ../../macos/firebase_ai; sourceTree = "<group>"; };
9397
/* End PBXFileReference section */
9498

9599
/* Begin PBXFrameworksBuildPhase section */
@@ -105,6 +109,7 @@
105109
isa = PBXFrameworksBuildPhase;
106110
buildActionMask = 2147483647;
107111
files = (
112+
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
108113
3D1CF19370CB8E26E5C667A5 /* Pods_Runner.framework in Frameworks */,
109114
);
110115
runOnlyForDeploymentPostprocessing = 0;
@@ -167,6 +172,9 @@
167172
33CEB47122A05771004F2AC0 /* Flutter */ = {
168173
isa = PBXGroup;
169174
children = (
175+
78DABEA22ED26510000E7860 /* firebase_ai */,
176+
784666492D4C4C64000A1A5F /* FlutterFramework */,
177+
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
170178
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
171179
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
172180
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
@@ -198,7 +206,6 @@
198206
587C61AFC0E2B0BF5340F8E8 /* Pods-RunnerTests.release.xcconfig */,
199207
5C2B5E4F1CE100E1FA5D9DC5 /* Pods-RunnerTests.profile.xcconfig */,
200208
);
201-
name = Pods;
202209
path = Pods;
203210
sourceTree = "<group>";
204211
};
@@ -237,20 +244,23 @@
237244
isa = PBXNativeTarget;
238245
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
239246
buildPhases = (
240-
E10F886575A4AF9F1D3D5C5B /* [CP] Check Pods Manifest.lock */,
247+
606AE4A9031C7C91EFF70994 /* [CP] Check Pods Manifest.lock */,
241248
33CC10E92044A3C60003C045 /* Sources */,
242249
33CC10EA2044A3C60003C045 /* Frameworks */,
243250
33CC10EB2044A3C60003C045 /* Resources */,
244251
33CC110E2044A8840003C045 /* Bundle Framework */,
245252
3399D490228B24CF009A79C7 /* ShellScript */,
246-
1D3525FBE401B81EB0265948 /* [CP] Embed Pods Frameworks */,
253+
7035891EAAFF34285DDE160B /* [CP] Embed Pods Frameworks */,
247254
);
248255
buildRules = (
249256
);
250257
dependencies = (
251258
33CC11202044C79F0003C045 /* PBXTargetDependency */,
252259
);
253260
name = Runner;
261+
packageProductDependencies = (
262+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
263+
);
254264
productName = Runner;
255265
productReference = 33CC10ED2044A3C60003C045 /* example.app */;
256266
productType = "com.apple.product-type.application";
@@ -295,6 +305,9 @@
295305
Base,
296306
);
297307
mainGroup = 33CC10E42044A3C60003C045;
308+
packageReferences = (
309+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */,
310+
);
298311
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
299312
projectDirPath = "";
300313
projectRoot = "";
@@ -327,23 +340,6 @@
327340
/* End PBXResourcesBuildPhase section */
328341

329342
/* Begin PBXShellScriptBuildPhase section */
330-
1D3525FBE401B81EB0265948 /* [CP] Embed Pods Frameworks */ = {
331-
isa = PBXShellScriptBuildPhase;
332-
buildActionMask = 2147483647;
333-
files = (
334-
);
335-
inputFileListPaths = (
336-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
337-
);
338-
name = "[CP] Embed Pods Frameworks";
339-
outputFileListPaths = (
340-
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
341-
);
342-
runOnlyForDeploymentPostprocessing = 0;
343-
shellPath = /bin/sh;
344-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
345-
showEnvVarsInLog = 0;
346-
};
347343
3399D490228B24CF009A79C7 /* ShellScript */ = {
348344
isa = PBXShellScriptBuildPhase;
349345
alwaysOutOfDate = 1;
@@ -404,7 +400,7 @@
404400
shellPath = /bin/sh;
405401
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
406402
};
407-
E10F886575A4AF9F1D3D5C5B /* [CP] Check Pods Manifest.lock */ = {
403+
606AE4A9031C7C91EFF70994 /* [CP] Check Pods Manifest.lock */ = {
408404
isa = PBXShellScriptBuildPhase;
409405
buildActionMask = 2147483647;
410406
files = (
@@ -426,6 +422,23 @@
426422
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";
427423
showEnvVarsInLog = 0;
428424
};
425+
7035891EAAFF34285DDE160B /* [CP] Embed Pods Frameworks */ = {
426+
isa = PBXShellScriptBuildPhase;
427+
buildActionMask = 2147483647;
428+
files = (
429+
);
430+
inputFileListPaths = (
431+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
432+
);
433+
name = "[CP] Embed Pods Frameworks";
434+
outputFileListPaths = (
435+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
436+
);
437+
runOnlyForDeploymentPostprocessing = 0;
438+
shellPath = /bin/sh;
439+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
440+
showEnvVarsInLog = 0;
441+
};
429442
/* End PBXShellScriptBuildPhase section */
430443

431444
/* Begin PBXSourcesBuildPhase section */
@@ -800,6 +813,21 @@
800813
defaultConfigurationName = Release;
801814
};
802815
/* End XCConfigurationList section */
816+
817+
/* Begin XCLocalSwiftPackageReference section */
818+
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = {
819+
isa = XCLocalSwiftPackageReference;
820+
relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
821+
};
822+
/* End XCLocalSwiftPackageReference section */
823+
824+
/* Begin XCSwiftPackageProductDependency section */
825+
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
826+
isa = XCSwiftPackageProductDependency;
827+
package = 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */;
828+
productName = FlutterGeneratedPluginSwiftPackage;
829+
};
830+
/* End XCSwiftPackageProductDependency section */
803831
};
804832
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
805833
}

packages/firebase_ai/firebase_ai/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)