Skip to content

Commit e5a50c1

Browse files
authored
[Firebase AI] Add FirebaseAIExampleZip scheme for zip testing (#1770)
1 parent c8e9e7e commit e5a50c1

File tree

3 files changed

+264
-6
lines changed

3 files changed

+264
-6
lines changed

firebaseai/FirebaseAIExample.xcodeproj/project.pbxproj

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,30 @@
88

99
/* Begin PBXBuildFile section */
1010
869200B32B879C4F00482873 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 869200B22B879C4F00482873 /* GoogleService-Info.plist */; };
11+
86BB55EA2E8B2D6D0054B8B5 /* FunctionCallingScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C1F47E2BC726150026816F /* FunctionCallingScreen.swift */; };
12+
86BB55EB2E8B2D6D0054B8B5 /* BouncingDots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E10F5C2B11135000C08E95 /* BouncingDots.swift */; };
13+
86BB55EC2E8B2D6D0054B8B5 /* FunctionCallingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C1F4802BC726150026816F /* FunctionCallingViewModel.swift */; };
14+
86BB55ED2E8B2D6D0054B8B5 /* ChatMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E10F582B11131900C08E95 /* ChatMessage.swift */; };
15+
86BB55EE2E8B2D6D0054B8B5 /* ErrorDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889873842B208563005B4896 /* ErrorDetailsView.swift */; };
16+
86BB55EF2E8B2D6D0054B8B5 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8848C8342B0D04BC007B434F /* ContentView.swift */; };
17+
86BB55F02E8B2D6D0054B8B5 /* GenerateContentScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88209C1B2B0FBDC300F64795 /* GenerateContentScreen.swift */; };
18+
86BB55F12E8B2D6D0054B8B5 /* FirebaseAIExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8848C8322B0D04BC007B434F /* FirebaseAIExampleApp.swift */; };
19+
86BB55F22E8B2D6D0054B8B5 /* ConversationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E10F562B1112F600C08E95 /* ConversationViewModel.swift */; };
20+
86BB55F32E8B2D6D0054B8B5 /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E10F5A2B11133E00C08E95 /* MessageView.swift */; };
21+
86BB55F42E8B2D6D0054B8B5 /* PhotoReasoningScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880266752B0FC39000CF7CB6 /* PhotoReasoningScreen.swift */; };
22+
86BB55F52E8B2D6D0054B8B5 /* ImagenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFECAA72D7B4CCD00EF9621 /* ImagenViewModel.swift */; };
23+
86BB55F62E8B2D6D0054B8B5 /* ImagenScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFECAA62D7B4CCD00EF9621 /* ImagenScreen.swift */; };
24+
86BB55F72E8B2D6D0054B8B5 /* PhotoReasoningViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8802666F2B0FC39000CF7CB6 /* PhotoReasoningViewModel.swift */; };
25+
86BB55F82E8B2D6D0054B8B5 /* ConversationScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88E10F542B1112CA00C08E95 /* ConversationScreen.swift */; };
26+
86BB55F92E8B2D6D0054B8B5 /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88263BEE2B239BFE008AB09B /* ErrorView.swift */; };
27+
86BB55FA2E8B2D6D0054B8B5 /* GenerateContentViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88209C1D2B0FBDC300F64795 /* GenerateContentViewModel.swift */; };
28+
86BB55FB2E8B2D6D0054B8B5 /* GoogleSearchSuggestionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE793DC2E256D3900708F02 /* GoogleSearchSuggestionView.swift */; };
29+
86BB55FC2E8B2D6D0054B8B5 /* GroundedResponseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE793DD2E256D3900708F02 /* GroundedResponseView.swift */; };
30+
86BB55FF2E8B2D6D0054B8B5 /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = 86BB55E42E8B2D6D0054B8B5 /* MarkdownUI */; };
31+
86BB56002E8B2D6D0054B8B5 /* GenerativeAIUIComponents in Frameworks */ = {isa = PBXBuildFile; productRef = 86BB55E62E8B2D6D0054B8B5 /* GenerativeAIUIComponents */; };
32+
86BB56022E8B2D6D0054B8B5 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8848C8392B0D04BD007B434F /* Preview Assets.xcassets */; };
33+
86BB56032E8B2D6D0054B8B5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8848C8362B0D04BD007B434F /* Assets.xcassets */; };
34+
86BB56042E8B2D6D0054B8B5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 869200B22B879C4F00482873 /* GoogleService-Info.plist */; };
1135
86C1F4832BC726150026816F /* FunctionCallingScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C1F47E2BC726150026816F /* FunctionCallingScreen.swift */; };
1236
86C1F4842BC726150026816F /* FunctionCallingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C1F4802BC726150026816F /* FunctionCallingViewModel.swift */; };
1337
88263BF02B239C09008AB09B /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88263BEE2B239BFE008AB09B /* ErrorView.swift */; };
@@ -36,6 +60,7 @@
3660

3761
/* Begin PBXFileReference section */
3862
869200B22B879C4F00482873 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
63+
86BB56082E8B2D6D0054B8B5 /* FirebaseAIExampleZip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FirebaseAIExampleZip.app; sourceTree = BUILT_PRODUCTS_DIR; };
3964
86C1F47E2BC726150026816F /* FunctionCallingScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FunctionCallingScreen.swift; sourceTree = "<group>"; };
4065
86C1F4802BC726150026816F /* FunctionCallingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FunctionCallingViewModel.swift; sourceTree = "<group>"; };
4166
8802666F2B0FC39000CF7CB6 /* PhotoReasoningViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoReasoningViewModel.swift; sourceTree = "<group>"; };
@@ -68,6 +93,15 @@
6893
/* End PBXFileReference section */
6994

7095
/* Begin PBXFrameworksBuildPhase section */
96+
86BB55FD2E8B2D6D0054B8B5 /* Frameworks */ = {
97+
isa = PBXFrameworksBuildPhase;
98+
buildActionMask = 2147483647;
99+
files = (
100+
86BB55FF2E8B2D6D0054B8B5 /* MarkdownUI in Frameworks */,
101+
86BB56002E8B2D6D0054B8B5 /* GenerativeAIUIComponents in Frameworks */,
102+
);
103+
runOnlyForDeploymentPostprocessing = 0;
104+
};
71105
8848C82C2B0D04BC007B434F /* Frameworks */ = {
72106
isa = PBXFrameworksBuildPhase;
73107
buildActionMask = 2147483647;
@@ -165,6 +199,7 @@
165199
isa = PBXGroup;
166200
children = (
167201
8848C82F2B0D04BC007B434F /* FirebaseAIExample.app */,
202+
86BB56082E8B2D6D0054B8B5 /* FirebaseAIExampleZip.app */,
168203
);
169204
name = Products;
170205
sourceTree = "<group>";
@@ -304,6 +339,27 @@
304339
/* End PBXGroup section */
305340

306341
/* Begin PBXNativeTarget section */
342+
86BB55E32E8B2D6D0054B8B5 /* FirebaseAIExampleZip */ = {
343+
isa = PBXNativeTarget;
344+
buildConfigurationList = 86BB56052E8B2D6D0054B8B5 /* Build configuration list for PBXNativeTarget "FirebaseAIExampleZip" */;
345+
buildPhases = (
346+
86BB55E92E8B2D6D0054B8B5 /* Sources */,
347+
86BB55FD2E8B2D6D0054B8B5 /* Frameworks */,
348+
86BB56012E8B2D6D0054B8B5 /* Resources */,
349+
);
350+
buildRules = (
351+
);
352+
dependencies = (
353+
);
354+
name = FirebaseAIExampleZip;
355+
packageProductDependencies = (
356+
86BB55E42E8B2D6D0054B8B5 /* MarkdownUI */,
357+
86BB55E62E8B2D6D0054B8B5 /* GenerativeAIUIComponents */,
358+
);
359+
productName = GenerativeAIExample;
360+
productReference = 86BB56082E8B2D6D0054B8B5 /* FirebaseAIExampleZip.app */;
361+
productType = "com.apple.product-type.application";
362+
};
307363
8848C82E2B0D04BC007B434F /* FirebaseAIExample */ = {
308364
isa = PBXNativeTarget;
309365
buildConfigurationList = 8848C83D2B0D04BD007B434F /* Build configuration list for PBXNativeTarget "FirebaseAIExample" */;
@@ -360,11 +416,22 @@
360416
projectRoot = "";
361417
targets = (
362418
8848C82E2B0D04BC007B434F /* FirebaseAIExample */,
419+
86BB55E32E8B2D6D0054B8B5 /* FirebaseAIExampleZip */,
363420
);
364421
};
365422
/* End PBXProject section */
366423

367424
/* Begin PBXResourcesBuildPhase section */
425+
86BB56012E8B2D6D0054B8B5 /* Resources */ = {
426+
isa = PBXResourcesBuildPhase;
427+
buildActionMask = 2147483647;
428+
files = (
429+
86BB56022E8B2D6D0054B8B5 /* Preview Assets.xcassets in Resources */,
430+
86BB56032E8B2D6D0054B8B5 /* Assets.xcassets in Resources */,
431+
86BB56042E8B2D6D0054B8B5 /* GoogleService-Info.plist in Resources */,
432+
);
433+
runOnlyForDeploymentPostprocessing = 0;
434+
};
368435
8848C82D2B0D04BC007B434F /* Resources */ = {
369436
isa = PBXResourcesBuildPhase;
370437
buildActionMask = 2147483647;
@@ -378,6 +445,32 @@
378445
/* End PBXResourcesBuildPhase section */
379446

380447
/* Begin PBXSourcesBuildPhase section */
448+
86BB55E92E8B2D6D0054B8B5 /* Sources */ = {
449+
isa = PBXSourcesBuildPhase;
450+
buildActionMask = 2147483647;
451+
files = (
452+
86BB55EA2E8B2D6D0054B8B5 /* FunctionCallingScreen.swift in Sources */,
453+
86BB55EB2E8B2D6D0054B8B5 /* BouncingDots.swift in Sources */,
454+
86BB55EC2E8B2D6D0054B8B5 /* FunctionCallingViewModel.swift in Sources */,
455+
86BB55ED2E8B2D6D0054B8B5 /* ChatMessage.swift in Sources */,
456+
86BB55EE2E8B2D6D0054B8B5 /* ErrorDetailsView.swift in Sources */,
457+
86BB55EF2E8B2D6D0054B8B5 /* ContentView.swift in Sources */,
458+
86BB55F02E8B2D6D0054B8B5 /* GenerateContentScreen.swift in Sources */,
459+
86BB55F12E8B2D6D0054B8B5 /* FirebaseAIExampleApp.swift in Sources */,
460+
86BB55F22E8B2D6D0054B8B5 /* ConversationViewModel.swift in Sources */,
461+
86BB55F32E8B2D6D0054B8B5 /* MessageView.swift in Sources */,
462+
86BB55F42E8B2D6D0054B8B5 /* PhotoReasoningScreen.swift in Sources */,
463+
86BB55F52E8B2D6D0054B8B5 /* ImagenViewModel.swift in Sources */,
464+
86BB55F62E8B2D6D0054B8B5 /* ImagenScreen.swift in Sources */,
465+
86BB55F72E8B2D6D0054B8B5 /* PhotoReasoningViewModel.swift in Sources */,
466+
86BB55F82E8B2D6D0054B8B5 /* ConversationScreen.swift in Sources */,
467+
86BB55F92E8B2D6D0054B8B5 /* ErrorView.swift in Sources */,
468+
86BB55FA2E8B2D6D0054B8B5 /* GenerateContentViewModel.swift in Sources */,
469+
86BB55FB2E8B2D6D0054B8B5 /* GoogleSearchSuggestionView.swift in Sources */,
470+
86BB55FC2E8B2D6D0054B8B5 /* GroundedResponseView.swift in Sources */,
471+
);
472+
runOnlyForDeploymentPostprocessing = 0;
473+
};
381474
8848C82B2B0D04BC007B434F /* Sources */ = {
382475
isa = PBXSourcesBuildPhase;
383476
buildActionMask = 2147483647;
@@ -407,6 +500,66 @@
407500
/* End PBXSourcesBuildPhase section */
408501

409502
/* Begin XCBuildConfiguration section */
503+
86BB56062E8B2D6D0054B8B5 /* Debug */ = {
504+
isa = XCBuildConfiguration;
505+
buildSettings = {
506+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
507+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
508+
CODE_SIGN_STYLE = Automatic;
509+
CURRENT_PROJECT_VERSION = 1;
510+
DEVELOPMENT_ASSET_PATHS = "\"FirebaseAIExample/Preview Content\"";
511+
DEVELOPMENT_TEAM = "";
512+
ENABLE_PREVIEWS = YES;
513+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
514+
GENERATE_INFOPLIST_FILE = YES;
515+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
516+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
517+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
518+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
519+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
520+
LD_RUNPATH_SEARCH_PATHS = (
521+
"$(inherited)",
522+
"@executable_path/Frameworks",
523+
);
524+
MARKETING_VERSION = 1.0;
525+
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.FirebaseAIExample;
526+
PRODUCT_NAME = "$(TARGET_NAME)";
527+
SWIFT_EMIT_LOC_STRINGS = YES;
528+
SWIFT_VERSION = 5.0;
529+
TARGETED_DEVICE_FAMILY = "1,2";
530+
};
531+
name = Debug;
532+
};
533+
86BB56072E8B2D6D0054B8B5 /* Release */ = {
534+
isa = XCBuildConfiguration;
535+
buildSettings = {
536+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
537+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
538+
CODE_SIGN_STYLE = Automatic;
539+
CURRENT_PROJECT_VERSION = 1;
540+
DEVELOPMENT_ASSET_PATHS = "\"FirebaseAIExample/Preview Content\"";
541+
DEVELOPMENT_TEAM = "";
542+
ENABLE_PREVIEWS = YES;
543+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
544+
GENERATE_INFOPLIST_FILE = YES;
545+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
546+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
547+
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
548+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
549+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
550+
LD_RUNPATH_SEARCH_PATHS = (
551+
"$(inherited)",
552+
"@executable_path/Frameworks",
553+
);
554+
MARKETING_VERSION = 1.0;
555+
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.FirebaseAIExample;
556+
PRODUCT_NAME = "$(TARGET_NAME)";
557+
SWIFT_EMIT_LOC_STRINGS = YES;
558+
SWIFT_VERSION = 5.0;
559+
TARGETED_DEVICE_FAMILY = "1,2";
560+
};
561+
name = Release;
562+
};
410563
8848C83B2B0D04BD007B434F /* Debug */ = {
411564
isa = XCBuildConfiguration;
412565
buildSettings = {
@@ -589,6 +742,15 @@
589742
/* End XCBuildConfiguration section */
590743

591744
/* Begin XCConfigurationList section */
745+
86BB56052E8B2D6D0054B8B5 /* Build configuration list for PBXNativeTarget "FirebaseAIExampleZip" */ = {
746+
isa = XCConfigurationList;
747+
buildConfigurations = (
748+
86BB56062E8B2D6D0054B8B5 /* Debug */,
749+
86BB56072E8B2D6D0054B8B5 /* Release */,
750+
);
751+
defaultConfigurationIsVisible = 0;
752+
defaultConfigurationName = Release;
753+
};
592754
8848C82A2B0D04BC007B434F /* Build configuration list for PBXProject "FirebaseAIExample" */ = {
593755
isa = XCConfigurationList;
594756
buildConfigurations = (
@@ -610,6 +772,14 @@
610772
/* End XCConfigurationList section */
611773

612774
/* Begin XCRemoteSwiftPackageReference section */
775+
86BB55E52E8B2D6D0054B8B5 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */ = {
776+
isa = XCRemoteSwiftPackageReference;
777+
repositoryURL = "https://github.com/gonzalezreal/swift-markdown-ui";
778+
requirement = {
779+
kind = revision;
780+
revision = 55441810c0f678c78ed7e2ebd46dde89228e02fc;
781+
};
782+
};
613783
88209C212B0FBDF700F64795 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */ = {
614784
isa = XCRemoteSwiftPackageReference;
615785
repositoryURL = "https://github.com/gonzalezreal/swift-markdown-ui";
@@ -637,6 +807,15 @@
637807
/* End XCRemoteSwiftPackageReference section */
638808

639809
/* Begin XCSwiftPackageProductDependency section */
810+
86BB55E42E8B2D6D0054B8B5 /* MarkdownUI */ = {
811+
isa = XCSwiftPackageProductDependency;
812+
package = 86BB55E52E8B2D6D0054B8B5 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */;
813+
productName = MarkdownUI;
814+
};
815+
86BB55E62E8B2D6D0054B8B5 /* GenerativeAIUIComponents */ = {
816+
isa = XCSwiftPackageProductDependency;
817+
productName = GenerativeAIUIComponents;
818+
};
640819
886F95D72B17BA420036F07A /* MarkdownUI */ = {
641820
isa = XCSwiftPackageProductDependency;
642821
package = 88209C212B0FBDF700F64795 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */;
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "2600"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "86BB55E32E8B2D6D0054B8B5"
19+
BuildableName = "FirebaseAIExampleZip.app"
20+
BlueprintName = "FirebaseAIExampleZip"
21+
ReferencedContainer = "container:FirebaseAIExample.xcodeproj">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
</TestAction>
33+
<LaunchAction
34+
buildConfiguration = "Debug"
35+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37+
launchStyle = "0"
38+
useCustomWorkingDirectory = "NO"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "86BB55E32E8B2D6D0054B8B5"
48+
BuildableName = "FirebaseAIExampleZip.app"
49+
BlueprintName = "FirebaseAIExampleZip"
50+
ReferencedContainer = "container:FirebaseAIExample.xcodeproj">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "86BB55E32E8B2D6D0054B8B5"
65+
BuildableName = "FirebaseAIExampleZip.app"
66+
BlueprintName = "FirebaseAIExampleZip"
67+
ReferencedContainer = "container:FirebaseAIExample.xcodeproj">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Release"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>

firebaseai/README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ from your app, rather than server-side, using the
1111
1. Clone this repo.
1212
1. Change into the `firebaseai` directory.
1313
1. Open `FirebaseAIExample.xcodeproj` using Xcode.
14-
15-
```bash
16-
git clone https://github.com/firebase/quickstart-ios.git
17-
cd quickstart-ios/firebaseai
18-
open FirebaseAIExample.xcodeproj
19-
```
14+
```bash
15+
git clone https://github.com/firebase/quickstart-ios.git
16+
cd quickstart-ios/firebaseai
17+
open FirebaseAIExample.xcodeproj
18+
```
19+
1. Select the `FirebaseAIExample (iOS)` scheme in Xcode to build the app using
20+
the Swift Package Manager distribution.
2021

2122
### Connect the sample to your Firebase project
2223

0 commit comments

Comments
 (0)