diff --git a/eng/Common.macios.targets b/eng/Common.macios.targets
index 1bd1bea..559b305 100644
--- a/eng/Common.macios.targets
+++ b/eng/Common.macios.targets
@@ -1,6 +1,8 @@
+ Release
+
.build
$(XcodeDefaultBuildDir)
@@ -23,6 +25,7 @@
<_XcArchiveiOSFullPath>$([System.IO.Path]::Combine($(_XcodeBuildDirFullPath), $(XcodeScheme)-ios.xcarchive))
<_XcArchiveiOSSimulatorFullPath>$([System.IO.Path]::Combine($(_XcodeBuildDirFullPath), $(XcodeScheme)-iossimulator.xcarchive))
<_XcArchiveMacCatalystFullPath>$([System.IO.Path]::Combine($(_XcodeBuildDirFullPath), $(XcodeScheme)-maccatalyst.xcarchive))
+ <_XcArchiveExtraArgs>ENABLE_BITCODE=NO SKIP_INSTALL=NO SWIFT_INSTALL_OBJC_HEADER=YES BUILD_LIBRARY_FOR_DISTRIBUTION=YES OTHER_LDFLAGS='-ObjC' OTHER_SWIFT_FLAGS='-no-verify-emitted-module-interface' OBJC_CFLAGS='-fno-objc-msgsend-selector-stubs -ObjC'
<_XcFrameworkFullPath>$([System.IO.Path]::Combine($(_XcodeBuildDirFullPath), $(XcodeScheme).xcframework))
@@ -34,22 +37,35 @@
<_XcodeProjectInputs Include="$(_XcodeProjectFullPath)/*.xcworkspace" />
-
+
+ <_GenerateBindingsDependsOn>
+ BuildXCFramework;
+ ObjSharpieBind;
+ $(_GenerateBindingsDependsOn);
+
+
+
+
-
-
-
+
+
+
-
-
-
+ <_CreateXcFxArgs Include="-create-xcframework" />
+ <_CreateXcFxArgs Condition=" '$(XcodeBuildiOS)' == 'True' " Include="-archive $(_XcArchiveiOSFullPath) -framework $(XcodeScheme).framework" />
+ <_CreateXcFxArgs Condition=" '$(XcodeBuildiOSSimulator)' == 'True' " Include="-archive $(_XcArchiveiOSSimulatorFullPath) -framework $(XcodeScheme).framework" />
+ <_CreateXcFxArgs Condition=" '$(XcodeBuildMacCatalyst)' == 'True' " Include="-archive $(_XcArchiveMacCatalystFullPath) -framework $(XcodeScheme).framework" />
+ <_CreateXcFxArgs Include="-output $(_XcFrameworkFullPath)" />
-
-
+
@@ -61,24 +77,18 @@
<_ObjSharpieInputs Include="$(ObjSharpieSourceHeader)" />
-
-
-
-
-
-
-
-
- $([System.Text.RegularExpressions.Regex]::Match($(_XcodeShowSdksOutput), `iphoneos[^; \n\r\t]+`))
- Binding
-
-
+
-
+ <_ObjSharpieArgs Include="--output=$(ObjSharpieBindOutputDir)" />
+ <_ObjSharpieArgs Include="--namespace=$(ObjSharpieBindNamespace)" />
+ <_ObjSharpieArgs Include="--framework $(_XcArchiveiOSFullPath)/Products/Library/Frameworks/$(XcodeScheme).framework" />
-
-
+
+
diff --git a/firebase/macios/Firebase.MaciOS.Binding/ApiDefinitions.cs b/firebase/macios/Firebase.MaciOS.Binding/ApiDefinitions.cs
new file mode 100644
index 0000000..951d003
--- /dev/null
+++ b/firebase/macios/Firebase.MaciOS.Binding/ApiDefinitions.cs
@@ -0,0 +1,97 @@
+#nullable enable
+using System;
+using Foundation;
+
+namespace Firebase
+{
+ // @interface MauiFIRAnalytics : NSObject
+ [BaseType (typeof(NSObject))]
+ interface MauiFIRAnalytics
+ {
+ // +(void)logEventWithEventName:(NSString * _Nonnull)eventName parameters:(NSDictionary * _Nonnull)parameters;
+ [Static]
+ [Export ("logEventWithEventName:parameters:")]
+ void LogEvent (string eventName, NSDictionary parameters);
+
+ // +(void)getAppInstanceIdWithCompletion:(void (^ _Nonnull)(NSString * _Nullable))completion;
+ [Static]
+ [Export ("getAppInstanceIdWithCompletion:")]
+ [Async]
+ void GetAppInstanceId (Action completion);
+
+ // +(void)setUserIdWithUserId:(NSString * _Nonnull)userId;
+ [Static]
+ [Export ("setUserIdWithUserId:")]
+ void SetUserId (string userId);
+
+ // +(void)setUserPropertyWithPropertyName:(NSString * _Nonnull)propertyName value:(NSString * _Nonnull)value;
+ [Static]
+ [Export ("setUserPropertyWithPropertyName:value:")]
+ void SetUserProperty (string propertyName, string value);
+
+ // +(void)setSessionTimeoutWithSeconds:(NSInteger)seconds;
+ [Static]
+ [Export ("setSessionTimeoutWithSeconds:")]
+ void SetSessionTimeout (nint seconds);
+
+ // +(void)resetAnalyticsData;
+ [Static]
+ [Export ("resetAnalyticsData")]
+ void ResetAnalyticsData ();
+ }
+
+ // @interface MauiFIRApp : NSObject
+ [BaseType (typeof(NSObject))]
+ interface MauiFIRApp
+ {
+ // +(void)autoConfigure;
+ [Static]
+ [Export ("autoConfigure")]
+ void AutoConfigure ();
+
+ // +(void)configure:(NSString * _Nonnull)googleAppId gcmSenderId:(NSString * _Nonnull)gcmSenderId;
+ [Static]
+ [Export ("configure:gcmSenderId:")]
+ void Configure (string googleAppId, string gcmSenderId);
+ }
+
+ // @interface MauiFIRMessaging : NSObject
+ [BaseType (typeof(NSObject))]
+ interface MauiFIRMessaging
+ {
+ // +(BOOL)getIsAutoInitEnabled __attribute__((warn_unused_result("")));
+ // +(void)setIsAutoInitEnabled:(BOOL)enabled;
+ [Static]
+ [Export ("getIsAutoInitEnabled")]
+ bool IsAutoInitEnabled { get; [Bind("setIsAutoInitEnabled:")] set; }
+
+ // +(NSString * _Nullable)getFcmToken __attribute__((warn_unused_result("")));
+ [Static]
+ [NullAllowed, Export ("getFcmToken")]
+ string FcmToken { get; }
+
+ // +(void)register:(NSData * _Nonnull)apnsToken completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
+ [Static]
+ [Export ("register:completion:")]
+ [Async]
+ void Register (NSData apnsToken, Action completion);
+
+ // +(void)unregister:(void (^ _Nonnull)(NSError * _Nullable))completion;
+ [Static]
+ [Export ("unregister:")]
+ [Async]
+ void Unregister (Action completion);
+
+ // +(void)subscribe:(NSString * _Nonnull)topic completion:(void (^ _Nonnull)(NSError * _Nullable))completion;
+ [Static]
+ [Export ("subscribe:completion:")]
+ [Async]
+ void Subscribe (string topic, Action completion);
+
+ // +(void)unsubscribe:(NSString * _Nonnull)topic completion:(void (^ _Nonnull)(NSError * _Nullable))completion;
+ [Static]
+ [Export ("unsubscribe:completion:")]
+ [Async]
+ void Unsubscribe (string topic, Action completion);
+ }
+}
diff --git a/firebase/macios/FirebaseAnalytics.Binding/FirebaseAnalytics.Binding.csproj b/firebase/macios/Firebase.MaciOS.Binding/Firebase.MaciOS.Binding.csproj
similarity index 68%
rename from firebase/macios/FirebaseAnalytics.Binding/FirebaseAnalytics.Binding.csproj
rename to firebase/macios/Firebase.MaciOS.Binding/Firebase.MaciOS.Binding.csproj
index 113bf78..3dd9f3c 100644
--- a/firebase/macios/FirebaseAnalytics.Binding/FirebaseAnalytics.Binding.csproj
+++ b/firebase/macios/Firebase.MaciOS.Binding/Firebase.MaciOS.Binding.csproj
@@ -4,18 +4,19 @@
enable
true
true
+ true
- $(MSBuildThisFileDirectory)../native/analytics/MauiFirebaseAnalytics.xcodeproj
+ $(MSBuildThisFileDirectory)../native/MauiFirebase.xcodeproj
true
- False
+ true
Firebase
-
+
Framework
- True
+ true
diff --git a/firebase/macios/FirebaseAnalytics.Binding/ApiDefinitions.cs b/firebase/macios/FirebaseAnalytics.Binding/ApiDefinitions.cs
deleted file mode 100644
index adb3979..0000000
--- a/firebase/macios/FirebaseAnalytics.Binding/ApiDefinitions.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using System;
-using Foundation;
-
-namespace Firebase
-{
- [BaseType(typeof(NSObject))]
- interface FirebaseApplication
- {
- [Static]
- [Export("autoConfigure")]
- void AutoConfigure();
-
- [Static]
- [Export("configure:gcmSenderId:")]
- void Configure(string googleAppId, string gcmSenderId);
- }
-
-
- // @interface FirebaseAnalytics : NSObject
- [BaseType (typeof(NSObject))]
- interface FirebaseAnalytics
- {
- // -(void)logEventWithEventName:(NSString * _Nonnull)eventName parameters:(NSDictionary * _Nonnull)parameters;
- [Static]
- [Export ("logEventWithEventName:parameters:")]
- void LogEvent (string eventName, NSDictionary parameters);
-
- // -(void)getAppInstanceIdWithCompletion:(void (^ _Nonnull)(NSString * _Nullable))completion;
- [Static]
- [Export ("getAppInstanceIdWithCompletion:")]
- [Async]
- void GetAppInstanceId (Action completion);
-
- // -(void)setUserIdWithUserId:(NSString * _Nonnull)userId;
- [Static]
- [Export ("setUserIdWithUserId:")]
- void SetUserId (string userId);
-
- // -(void)setUserPropertyWithPropertyName:(NSString * _Nonnull)propertyName value:(NSString * _Nonnull)value;
- [Static]
- [Export ("setUserProperty:value:")]
- void SetUserProperty (string propertyName, string value);
-
- // -(void)setSessionTimeoutWithSeconds:(NSInteger)seconds;
- [Static]
- [Export ("setSessionTimeoutWithSeconds:")]
- void SetSessionTimeout (nint seconds);
-
- // -(void)resetAnalyticsData;
- [Static]
- [Export ("resetAnalyticsData")]
- void ResetAnalyticsData ();
- }
-}
diff --git a/firebase/macios/FirebaseMessaging.Binding/ApiDefinitions.cs b/firebase/macios/FirebaseMessaging.Binding/ApiDefinitions.cs
deleted file mode 100644
index 5252be7..0000000
--- a/firebase/macios/FirebaseMessaging.Binding/ApiDefinitions.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-#nullable enable
-using System;
-using Foundation;
-
-namespace Firebase
-{
- [BaseType(typeof(NSObject))]
- interface FirebaseMessaging
- {
- [Static]
- [Export("getIsAutoInitEnabled:")]
- bool IsAutoInitEnabled { get; [Bind("setIsAutoInitEnabled:")] set; }
-
- [Static]
- [Export("getFcmToken")]
- string FcmToken { get; }
-
- [Static]
- [Export("register:completion:")]
- [Async]
- void Register(NSData nativePush, Action completion);
-
- [Static]
- [Export("unregister:")]
- [Async]
- void UnRegister(Action completion);
-
- [Static]
- [Export("subscribe:completion:")]
- [Async]
- void Subscribe(string topic, Action completion);
-
- [Static]
- [Export("unsubscribe:completion:")]
- [Async]
- void UnSubscribe(string topic, Action completion);
- }
-}
diff --git a/firebase/macios/FirebaseMessaging.Binding/FirebaseMessaging.Binding.csproj b/firebase/macios/FirebaseMessaging.Binding/FirebaseMessaging.Binding.csproj
deleted file mode 100644
index 2172b58..0000000
--- a/firebase/macios/FirebaseMessaging.Binding/FirebaseMessaging.Binding.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- net8.0-ios;net8.0-maccatalyst
- enable
- true
- true
- true
-
- $(MSBuildThisFileDirectory)../native/messaging/MauiFirebaseMessaging.xcodeproj
- False
-
-
-
-
-
- Framework
- True
- True
-
-
-
-
-
-
-
-
-
diff --git a/firebase/macios/README.md b/firebase/macios/README.md
index 5b3e7de..9cf11f6 100644
--- a/firebase/macios/README.md
+++ b/firebase/macios/README.md
@@ -1,7 +1,20 @@
-# MAUI
-A set of examples for slim binding native libraries for use with .NET MAUI apps
+# Firebase Slim Binding
+This folder contains a slim binding for the Firebase SDK which demonstrates simple [Analytics][0] and [Messaging][1] usage.
+### Build and Run
+```shell
+ dotnet build sample -t:Run -f net8.0-ios
+```
-## Testing
-Add your GoogleService-Info.plist to the sample project and change to your
-iOS app identifier in the Sample.csproj
\ No newline at end of file
+### Configure
+The included sample requires some modification to fully function. You will need to log in to
+a Firebase developer account and configure an app to interface with this sample.
+For more details, reference the [Get Started (iOS)][2] page.
+
+1. Download your `GoogleService-Info.plist` and replace `Platforms/iOS/GoogleService-Info.plist` with it.
+2. Change the `` value in `Sample.csproj` to your Firebase iOS app identifier.
+
+
+[0]: https://firebase.google.com/docs/analytics/get-started?platform=ios
+[1]: https://firebase.google.com/docs/cloud-messaging/ios/client
+[2]: https://firebase.google.com/docs/ios/setup
diff --git a/firebase/macios/native/.gitignore b/firebase/macios/native/.gitignore
new file mode 100644
index 0000000..22db5ee
--- /dev/null
+++ b/firebase/macios/native/.gitignore
@@ -0,0 +1,3 @@
+.build/
+build/
+deps/
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.pbxproj b/firebase/macios/native/MauiFirebase.xcodeproj/project.pbxproj
similarity index 59%
rename from firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.pbxproj
rename to firebase/macios/native/MauiFirebase.xcodeproj/project.pbxproj
index e21a72c..44b7578 100644
--- a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.pbxproj
+++ b/firebase/macios/native/MauiFirebase.xcodeproj/project.pbxproj
@@ -7,56 +7,66 @@
objects = {
/* Begin PBXBuildFile section */
- 64B992DD2B966E8400BAFB55 /* MauiFirebaseMessaging.h in Headers */ = {isa = PBXBuildFile; fileRef = 64B992DC2B966E8400BAFB55 /* MauiFirebaseMessaging.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 64B992E42B966F2D00BAFB55 /* MauiFirebaseMessaging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64B992E32B966F2D00BAFB55 /* MauiFirebaseMessaging.swift */; };
- E5A6E48D2B9C04EF00B955ED /* FirebaseMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = E5A6E48C2B9C04EF00B955ED /* FirebaseMessaging */; };
+ D051A4BC2BD33D4600EC7F28 /* MauiFirebase.h in Headers */ = {isa = PBXBuildFile; fileRef = D051A4BB2BD33D4600EC7F28 /* MauiFirebase.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D051A4C32BD33D9100EC7F28 /* MauiFIRApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D051A4C22BD33D9100EC7F28 /* MauiFIRApp.swift */; };
+ D051A4C52BD33DB100EC7F28 /* MauiFIRMessaging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D051A4C42BD33DB100EC7F28 /* MauiFIRMessaging.swift */; };
+ D051A4C72BD33DBB00EC7F28 /* MauiFIRAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = D051A4C62BD33DBB00EC7F28 /* MauiFIRAnalytics.swift */; };
+ D0BECB2A2BD833BA00CDDD0A /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = D0BECB292BD833BA00CDDD0A /* FirebaseAnalytics */; };
+ D0BECB2C2BD833BA00CDDD0A /* FirebaseMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = D0BECB2B2BD833BA00CDDD0A /* FirebaseMessaging */; };
+ D0BECB2E2BD8381100CDDD0A /* FirebaseInstallations in Frameworks */ = {isa = PBXBuildFile; productRef = D0BECB2D2BD8381100CDDD0A /* FirebaseInstallations */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 64B992D92B966E8400BAFB55 /* MauiFirebaseMessaging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MauiFirebaseMessaging.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 64B992DC2B966E8400BAFB55 /* MauiFirebaseMessaging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MauiFirebaseMessaging.h; sourceTree = ""; };
- 64B992E32B966F2D00BAFB55 /* MauiFirebaseMessaging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MauiFirebaseMessaging.swift; sourceTree = ""; };
+ D051A4B82BD33D4600EC7F28 /* MauiFirebase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MauiFirebase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D051A4BB2BD33D4600EC7F28 /* MauiFirebase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MauiFirebase.h; sourceTree = ""; };
+ D051A4C22BD33D9100EC7F28 /* MauiFIRApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MauiFIRApp.swift; sourceTree = ""; };
+ D051A4C42BD33DB100EC7F28 /* MauiFIRMessaging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MauiFIRMessaging.swift; sourceTree = ""; };
+ D051A4C62BD33DBB00EC7F28 /* MauiFIRAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MauiFIRAnalytics.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 64B992D62B966E8400BAFB55 /* Frameworks */ = {
+ D051A4B52BD33D4600EC7F28 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- E5A6E48D2B9C04EF00B955ED /* FirebaseMessaging in Frameworks */,
+ D0BECB2E2BD8381100CDDD0A /* FirebaseInstallations in Frameworks */,
+ D0BECB2C2BD833BA00CDDD0A /* FirebaseMessaging in Frameworks */,
+ D0BECB2A2BD833BA00CDDD0A /* FirebaseAnalytics in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 64B992CF2B966E8400BAFB55 = {
+ D051A4AE2BD33D4600EC7F28 = {
isa = PBXGroup;
children = (
- 64B992DB2B966E8400BAFB55 /* MauiFirebaseMessaging */,
- 64B992DA2B966E8400BAFB55 /* Products */,
- 64B993072B979E9C00BAFB55 /* Frameworks */,
+ D051A4BA2BD33D4600EC7F28 /* MauiFirebase */,
+ D051A4B92BD33D4600EC7F28 /* Products */,
+ D051A4C82BD33DED00EC7F28 /* Frameworks */,
);
sourceTree = "";
};
- 64B992DA2B966E8400BAFB55 /* Products */ = {
+ D051A4B92BD33D4600EC7F28 /* Products */ = {
isa = PBXGroup;
children = (
- 64B992D92B966E8400BAFB55 /* MauiFirebaseMessaging.framework */,
+ D051A4B82BD33D4600EC7F28 /* MauiFirebase.framework */,
);
name = Products;
sourceTree = "";
};
- 64B992DB2B966E8400BAFB55 /* MauiFirebaseMessaging */ = {
+ D051A4BA2BD33D4600EC7F28 /* MauiFirebase */ = {
isa = PBXGroup;
children = (
- 64B992DC2B966E8400BAFB55 /* MauiFirebaseMessaging.h */,
- 64B992E32B966F2D00BAFB55 /* MauiFirebaseMessaging.swift */,
+ D051A4BB2BD33D4600EC7F28 /* MauiFirebase.h */,
+ D051A4C22BD33D9100EC7F28 /* MauiFIRApp.swift */,
+ D051A4C42BD33DB100EC7F28 /* MauiFIRMessaging.swift */,
+ D051A4C62BD33DBB00EC7F28 /* MauiFIRAnalytics.swift */,
);
- path = MauiFirebaseMessaging;
+ path = MauiFirebase;
sourceTree = "";
};
- 64B993072B979E9C00BAFB55 /* Frameworks */ = {
+ D051A4C82BD33DED00EC7F28 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
@@ -66,54 +76,56 @@
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
- 64B992D42B966E8400BAFB55 /* Headers */ = {
+ D051A4B32BD33D4600EC7F28 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- 64B992DD2B966E8400BAFB55 /* MauiFirebaseMessaging.h in Headers */,
+ D051A4BC2BD33D4600EC7F28 /* MauiFirebase.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
- 64B992D82B966E8400BAFB55 /* MauiFirebaseMessaging */ = {
+ D051A4B72BD33D4600EC7F28 /* MauiFirebase */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 64B992E02B966E8400BAFB55 /* Build configuration list for PBXNativeTarget "MauiFirebaseMessaging" */;
+ buildConfigurationList = D051A4BF2BD33D4600EC7F28 /* Build configuration list for PBXNativeTarget "MauiFirebase" */;
buildPhases = (
- 64B992D42B966E8400BAFB55 /* Headers */,
- 64B992D52B966E8400BAFB55 /* Sources */,
- 64B992D62B966E8400BAFB55 /* Frameworks */,
- 64B992D72B966E8400BAFB55 /* Resources */,
+ D051A4B32BD33D4600EC7F28 /* Headers */,
+ D051A4B42BD33D4600EC7F28 /* Sources */,
+ D051A4B52BD33D4600EC7F28 /* Frameworks */,
+ D051A4B62BD33D4600EC7F28 /* Resources */,
);
buildRules = (
);
dependencies = (
);
- name = MauiFirebaseMessaging;
+ name = MauiFirebase;
packageProductDependencies = (
- E5A6E48C2B9C04EF00B955ED /* FirebaseMessaging */,
+ D0BECB292BD833BA00CDDD0A /* FirebaseAnalytics */,
+ D0BECB2B2BD833BA00CDDD0A /* FirebaseMessaging */,
+ D0BECB2D2BD8381100CDDD0A /* FirebaseInstallations */,
);
- productName = MauiFirebaseMessaging;
- productReference = 64B992D92B966E8400BAFB55 /* MauiFirebaseMessaging.framework */;
+ productName = MauiFirebase;
+ productReference = D051A4B82BD33D4600EC7F28 /* MauiFirebase.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 64B992D02B966E8400BAFB55 /* Project object */ = {
+ D051A4AF2BD33D4600EC7F28 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
- LastUpgradeCheck = 1520;
+ LastUpgradeCheck = 1530;
TargetAttributes = {
- 64B992D82B966E8400BAFB55 = {
- CreatedOnToolsVersion = 15.2;
- LastSwiftMigration = 1520;
+ D051A4B72BD33D4600EC7F28 = {
+ CreatedOnToolsVersion = 15.3;
+ LastSwiftMigration = 1530;
};
};
};
- buildConfigurationList = 64B992D32B966E8400BAFB55 /* Build configuration list for PBXProject "MauiFirebaseMessaging" */;
+ buildConfigurationList = D051A4B22BD33D4600EC7F28 /* Build configuration list for PBXProject "MauiFirebase" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
@@ -121,21 +133,21 @@
en,
Base,
);
- mainGroup = 64B992CF2B966E8400BAFB55;
+ mainGroup = D051A4AE2BD33D4600EC7F28;
packageReferences = (
- E5A6E47F2B9C04EF00B955ED /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
+ D0BECB282BD833BA00CDDD0A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
);
- productRefGroup = 64B992DA2B966E8400BAFB55 /* Products */;
+ productRefGroup = D051A4B92BD33D4600EC7F28 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 64B992D82B966E8400BAFB55 /* MauiFirebaseMessaging */,
+ D051A4B72BD33D4600EC7F28 /* MauiFirebase */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 64B992D72B966E8400BAFB55 /* Resources */ = {
+ D051A4B62BD33D4600EC7F28 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -145,18 +157,20 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 64B992D52B966E8400BAFB55 /* Sources */ = {
+ D051A4B42BD33D4600EC7F28 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 64B992E42B966F2D00BAFB55 /* MauiFirebaseMessaging.swift in Sources */,
+ D051A4C72BD33DBB00EC7F28 /* MauiFIRAnalytics.swift in Sources */,
+ D051A4C52BD33DB100EC7F28 /* MauiFIRMessaging.swift in Sources */,
+ D051A4C32BD33D9100EC7F28 /* MauiFIRApp.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
- 64B992DE2B966E8400BAFB55 /* Debug */ = {
+ D051A4BD2BD33D4600EC7F28 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -209,10 +223,13 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 17.2;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = "-ObjC";
+ SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
@@ -220,7 +237,7 @@
};
name = Debug;
};
- 64B992DF2B966E8400BAFB55 /* Release */ = {
+ D051A4BE2BD33D4600EC7F28 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -267,18 +284,23 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 17.2;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
+ OTHER_LDFLAGS = "-ObjC";
+ SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
+ VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
- 64B992E12B966E8400BAFB55 /* Debug */ = {
+ D051A4C02BD33D4600EC7F28 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
@@ -290,35 +312,34 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
- "@executable_path/../Frameworks",
- "@loader_path/Frameworks",
- );
- MACOSX_DEPLOYMENT_TARGET = 14.2;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
- PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.MauiFirebaseMessaging;
+ PRODUCT_BUNDLE_IDENTIFIER = com.companyname.MauiFirebase;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
- SDKROOT = auto;
- SKIP_INSTALL = YES;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = YES;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+ SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_OBJC_HEADER = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
- 64B992E22B966E8400BAFB55 /* Release */ = {
+ D051A4C12BD33D4600EC7F28 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
@@ -330,26 +351,24 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
- "@executable_path/../Frameworks",
- "@loader_path/Frameworks",
- );
- MACOSX_DEPLOYMENT_TARGET = 14.2;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
- PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.MauiFirebaseMessaging;
+ PRODUCT_BUNDLE_IDENTIFIER = com.companyname.MauiFirebase;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
- SDKROOT = auto;
- SKIP_INSTALL = YES;
+ SKIP_INSTALL = NO;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = YES;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+ SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_INSTALL_OBJC_HEADER = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
@@ -358,20 +377,20 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 64B992D32B966E8400BAFB55 /* Build configuration list for PBXProject "MauiFirebaseMessaging" */ = {
+ D051A4B22BD33D4600EC7F28 /* Build configuration list for PBXProject "MauiFirebase" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 64B992DE2B966E8400BAFB55 /* Debug */,
- 64B992DF2B966E8400BAFB55 /* Release */,
+ D051A4BD2BD33D4600EC7F28 /* Debug */,
+ D051A4BE2BD33D4600EC7F28 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 64B992E02B966E8400BAFB55 /* Build configuration list for PBXNativeTarget "MauiFirebaseMessaging" */ = {
+ D051A4BF2BD33D4600EC7F28 /* Build configuration list for PBXNativeTarget "MauiFirebase" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 64B992E12B966E8400BAFB55 /* Debug */,
- 64B992E22B966E8400BAFB55 /* Release */,
+ D051A4C02BD33D4600EC7F28 /* Debug */,
+ D051A4C12BD33D4600EC7F28 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -379,23 +398,33 @@
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
- E5A6E47F2B9C04EF00B955ED /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = {
+ D0BECB282BD833BA00CDDD0A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = {
isa = XCRemoteSwiftPackageReference;
- repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git";
+ repositoryURL = "https://github.com/firebase/firebase-ios-sdk";
requirement = {
kind = upToNextMajorVersion;
- minimumVersion = 10.22.1;
+ minimumVersion = 10.24.0;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
- E5A6E48C2B9C04EF00B955ED /* FirebaseMessaging */ = {
+ D0BECB292BD833BA00CDDD0A /* FirebaseAnalytics */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = D0BECB282BD833BA00CDDD0A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
+ productName = FirebaseAnalytics;
+ };
+ D0BECB2B2BD833BA00CDDD0A /* FirebaseMessaging */ = {
isa = XCSwiftPackageProductDependency;
- package = E5A6E47F2B9C04EF00B955ED /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
+ package = D0BECB282BD833BA00CDDD0A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
productName = FirebaseMessaging;
};
+ D0BECB2D2BD8381100CDDD0A /* FirebaseInstallations */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = D0BECB282BD833BA00CDDD0A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
+ productName = FirebaseInstallations;
+ };
/* End XCSwiftPackageProductDependency section */
};
- rootObject = 64B992D02B966E8400BAFB55 /* Project object */;
+ rootObject = D051A4AF2BD33D4600EC7F28 /* Project object */;
}
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
similarity index 76%
rename from firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
rename to firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
index 3475522..b2d7290 100644
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/firebase/macios/native/MauiFirebase.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -1,12 +1,13 @@
{
+ "originHash" : "c63c63846d9c539229e96de38d6af51417e28c0ee9a0bc48bd0f0f19d923c329",
"pins" : [
{
"identity" : "abseil-cpp-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/abseil-cpp-binary.git",
"state" : {
- "revision" : "df308b8b46607675f2b9ec8e569109008f9155ce",
- "version" : "1.2022062300.1"
+ "revision" : "748c7837511d0e6a507737353af268484e1745e2",
+ "version" : "1.2024011601.1"
}
},
{
@@ -14,17 +15,17 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/app-check.git",
"state" : {
- "revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
- "version" : "10.18.1"
+ "revision" : "7d2688de038d5484866d835acb47b379722d610e",
+ "version" : "10.19.0"
}
},
{
"identity" : "firebase-ios-sdk",
"kind" : "remoteSourceControl",
- "location" : "https://github.com/firebase/firebase-ios-sdk.git",
+ "location" : "https://github.com/firebase/firebase-ios-sdk",
"state" : {
- "revision" : "be49849dcba96f2b5ee550d4eceb2c0fa27dade4",
- "version" : "10.22.1"
+ "revision" : "42eae77a0af79e9c3f41df04a23c76f05cfdda77",
+ "version" : "10.24.0"
}
},
{
@@ -32,8 +33,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleAppMeasurement.git",
"state" : {
- "revision" : "482cfa4e5880f0a29f66ecfd60c5a62af28bd1f0",
- "version" : "10.22.1"
+ "revision" : "51ba746a9d51a4bd0774b68499b0c73ef6e8570d",
+ "version" : "10.24.0"
}
},
{
@@ -59,8 +60,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/grpc-binary.git",
"state" : {
- "revision" : "ea4cb5cc0c39c732b85386263116d2e2fdbbdc61",
- "version" : "1.49.2"
+ "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359",
+ "version" : "1.62.2"
}
},
{
@@ -68,8 +69,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/gtm-session-fetcher.git",
"state" : {
- "revision" : "76135c9f4e1ac85459d5fec61b6f76ac47ab3a4c",
- "version" : "3.3.1"
+ "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193",
+ "version" : "3.4.1"
}
},
{
@@ -86,8 +87,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/leveldb.git",
"state" : {
- "revision" : "43aaef65e0c665daadf848761d560e446d350d3d",
- "version" : "1.22.4"
+ "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
+ "version" : "1.22.5"
}
},
{
@@ -113,10 +114,10 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-protobuf.git",
"state" : {
- "revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8",
- "version" : "1.25.2"
+ "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb",
+ "version" : "1.26.0"
}
}
],
- "version" : 2
+ "version" : 3
}
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseAnalytics.swift b/firebase/macios/native/MauiFirebase/MauiFIRAnalytics.swift
similarity index 88%
rename from firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseAnalytics.swift
rename to firebase/macios/native/MauiFirebase/MauiFIRAnalytics.swift
index 10a4f87..c6a97b8 100644
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseAnalytics.swift
+++ b/firebase/macios/native/MauiFirebase/MauiFIRAnalytics.swift
@@ -1,8 +1,13 @@
+//
+// MauiFIRAnalytics.swift
+// MauiFirebase
+//
+
import Foundation
import FirebaseAnalytics
-@objc(FirebaseAnalytics)
-public class FirebaseAnalytics : NSObject {
+@objc(MauiFIRAnalytics)
+public class MauiFIRAnalytics : NSObject {
@objc
public static func logEvent(eventName: String, parameters: Dictionary) {
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseApplication.swift b/firebase/macios/native/MauiFirebase/MauiFIRApp.swift
similarity index 79%
rename from firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseApplication.swift
rename to firebase/macios/native/MauiFirebase/MauiFIRApp.swift
index 0451815..233f107 100644
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics/FirebaseApplication.swift
+++ b/firebase/macios/native/MauiFirebase/MauiFIRApp.swift
@@ -1,8 +1,13 @@
+//
+// MauiFIRApp.swift
+// MauiFirebase
+//
+
import Foundation
import FirebaseCore
-@objc(FirebaseApplication)
-public class FirebaseApplication : NSObject {
+@objc(MauiFIRApp)
+public class MauiFIRApp : NSObject {
@objc
public static func autoConfigure() {
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.swift b/firebase/macios/native/MauiFirebase/MauiFIRMessaging.swift
similarity index 93%
rename from firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.swift
rename to firebase/macios/native/MauiFirebase/MauiFIRMessaging.swift
index fe3ed88..e86829b 100644
--- a/firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.swift
+++ b/firebase/macios/native/MauiFirebase/MauiFIRMessaging.swift
@@ -1,11 +1,16 @@
+//
+// MauiFIRMessaging.swift
+// MauiFirebase
+//
+
import Foundation
import Combine
import FirebaseMessaging
import FirebaseInstallations
import UIKit
-@objc(FirebaseMessaging)
-public class FirebaseMessaging : NSObject {
+@objc(MauiFIRMessaging)
+public class MauiFIRMessaging : NSObject {
@objc(setIsAutoInitEnabled:)
public static func setIsAutoInitEnabled(enabled: Bool) {
diff --git a/firebase/macios/native/MauiFirebase/MauiFirebase.h b/firebase/macios/native/MauiFirebase/MauiFirebase.h
new file mode 100644
index 0000000..71dab50
--- /dev/null
+++ b/firebase/macios/native/MauiFirebase/MauiFirebase.h
@@ -0,0 +1,18 @@
+//
+// MauiFirebase.h
+// MauiFirebase
+//
+// Created by Peter Collins on 4/19/24.
+//
+
+#import
+
+//! Project version number for MauiFirebase.
+FOUNDATION_EXPORT double MauiFirebaseVersionNumber;
+
+//! Project version string for MauiFirebase.
+FOUNDATION_EXPORT const unsigned char MauiFirebaseVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.pbxproj b/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.pbxproj
deleted file mode 100644
index b5d219d..0000000
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,449 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 56;
- objects = {
-
-/* Begin PBXBuildFile section */
- 64EDE08D2B9618AE00661736 /* MauiFirebaseAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = 64EDE08C2B9618AE00661736 /* MauiFirebaseAnalytics.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 64EDE09F2B96221400661736 /* FirebaseAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EDE09E2B96221400661736 /* FirebaseAnalytics.swift */; };
- E5C8F6152B9F58EA00722F1E /* FirebaseApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5C8F6142B9F58EA00722F1E /* FirebaseApplication.swift */; };
- E5C8F6222B9F59F300722F1E /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = E5C8F6212B9F59F300722F1E /* FirebaseAnalytics */; };
- E5C8F6242B9F59F300722F1E /* FirebaseInstallations in Frameworks */ = {isa = PBXBuildFile; productRef = E5C8F6232B9F59F300722F1E /* FirebaseInstallations */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 64B992EC2B97997E00BAFB55 /* GoogleAppMeasurementIdentitySupport.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleAppMeasurementIdentitySupport.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.xcframework; sourceTree = ""; };
- 64B992ED2B97997E00BAFB55 /* GoogleAppMeasurement.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleAppMeasurement.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleAppMeasurement.xcframework; sourceTree = ""; };
- 64B992EE2B97997E00BAFB55 /* FirebaseAnalytics.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseAnalytics.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseAnalytics.xcframework; sourceTree = ""; };
- 64B992EF2B97997E00BAFB55 /* FBLPromises.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FBLPromises.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/FBLPromises.xcframework; sourceTree = ""; };
- 64B992F02B97997E00BAFB55 /* FirebaseInstallations.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseInstallations.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework; sourceTree = ""; };
- 64B992F12B97997E00BAFB55 /* FirebaseCoreInternal.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseCoreInternal.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework; sourceTree = ""; };
- 64B992F22B97997E00BAFB55 /* GoogleUtilities.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleUtilities.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework; sourceTree = ""; };
- 64B992F32B97997E00BAFB55 /* nanopb.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = nanopb.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/nanopb.xcframework; sourceTree = ""; };
- 64B992F42B97997E00BAFB55 /* FirebaseCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseCore.xcframework; path = .build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseCore.xcframework; sourceTree = ""; };
- 64B9930F2B979ED500BAFB55 /* FirebaseInstallations.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseInstallations.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework; sourceTree = ""; };
- 64B993102B979ED500BAFB55 /* GoogleUtilities.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleUtilities.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework; sourceTree = ""; };
- 64B993112B979ED500BAFB55 /* GoogleAppMeasurementIdentitySupport.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleAppMeasurementIdentitySupport.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleAppMeasurementIdentitySupport.xcframework; sourceTree = ""; };
- 64B993122B979ED500BAFB55 /* FirebaseAnalytics.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseAnalytics.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseAnalytics.xcframework; sourceTree = ""; };
- 64B993132B979ED500BAFB55 /* FirebaseCore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseCore.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseCore.xcframework; sourceTree = ""; };
- 64B993142B979ED500BAFB55 /* FBLPromises.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FBLPromises.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/FBLPromises.xcframework; sourceTree = ""; };
- 64B993152B979ED500BAFB55 /* FirebaseCoreInternal.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = FirebaseCoreInternal.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework; sourceTree = ""; };
- 64B993162B979ED500BAFB55 /* GoogleAppMeasurement.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleAppMeasurement.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/GoogleAppMeasurement.xcframework; sourceTree = ""; };
- 64B993172B979ED500BAFB55 /* nanopb.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = nanopb.xcframework; path = ../../../build/FirebaseSdk/Firebase/FirebaseAnalytics/nanopb.xcframework; sourceTree = ""; };
- 64EDE0892B9618AE00661736 /* MauiFirebaseAnalytics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MauiFirebaseAnalytics.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 64EDE08C2B9618AE00661736 /* MauiFirebaseAnalytics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MauiFirebaseAnalytics.h; sourceTree = ""; };
- 64EDE09E2B96221400661736 /* FirebaseAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirebaseAnalytics.swift; sourceTree = ""; };
- E5C8F6142B9F58EA00722F1E /* FirebaseApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirebaseApplication.swift; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 64EDE0862B9618AE00661736 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E5C8F6222B9F59F300722F1E /* FirebaseAnalytics in Frameworks */,
- E5C8F6242B9F59F300722F1E /* FirebaseInstallations in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 64B992EB2B97997E00BAFB55 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 64B993142B979ED500BAFB55 /* FBLPromises.xcframework */,
- 64B993122B979ED500BAFB55 /* FirebaseAnalytics.xcframework */,
- 64B993132B979ED500BAFB55 /* FirebaseCore.xcframework */,
- 64B993152B979ED500BAFB55 /* FirebaseCoreInternal.xcframework */,
- 64B9930F2B979ED500BAFB55 /* FirebaseInstallations.xcframework */,
- 64B993162B979ED500BAFB55 /* GoogleAppMeasurement.xcframework */,
- 64B993112B979ED500BAFB55 /* GoogleAppMeasurementIdentitySupport.xcframework */,
- 64B993102B979ED500BAFB55 /* GoogleUtilities.xcframework */,
- 64B993172B979ED500BAFB55 /* nanopb.xcframework */,
- 64B992EF2B97997E00BAFB55 /* FBLPromises.xcframework */,
- 64B992EE2B97997E00BAFB55 /* FirebaseAnalytics.xcframework */,
- 64B992F42B97997E00BAFB55 /* FirebaseCore.xcframework */,
- 64B992F12B97997E00BAFB55 /* FirebaseCoreInternal.xcframework */,
- 64B992F02B97997E00BAFB55 /* FirebaseInstallations.xcframework */,
- 64B992ED2B97997E00BAFB55 /* GoogleAppMeasurement.xcframework */,
- 64B992EC2B97997E00BAFB55 /* GoogleAppMeasurementIdentitySupport.xcframework */,
- 64B992F22B97997E00BAFB55 /* GoogleUtilities.xcframework */,
- 64B992F32B97997E00BAFB55 /* nanopb.xcframework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- 64EDE07F2B9618AE00661736 = {
- isa = PBXGroup;
- children = (
- 64EDE08B2B9618AE00661736 /* MauiFirebaseAnalytics */,
- 64EDE08A2B9618AE00661736 /* Products */,
- 64B992EB2B97997E00BAFB55 /* Frameworks */,
- );
- sourceTree = "";
- };
- 64EDE08A2B9618AE00661736 /* Products */ = {
- isa = PBXGroup;
- children = (
- 64EDE0892B9618AE00661736 /* MauiFirebaseAnalytics.framework */,
- );
- name = Products;
- sourceTree = "";
- };
- 64EDE08B2B9618AE00661736 /* MauiFirebaseAnalytics */ = {
- isa = PBXGroup;
- children = (
- 64EDE08C2B9618AE00661736 /* MauiFirebaseAnalytics.h */,
- 64EDE09E2B96221400661736 /* FirebaseAnalytics.swift */,
- E5C8F6142B9F58EA00722F1E /* FirebaseApplication.swift */,
- );
- path = MauiFirebaseAnalytics;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
- 64EDE0842B9618AE00661736 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 64EDE08D2B9618AE00661736 /* MauiFirebaseAnalytics.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
- 64EDE0882B9618AE00661736 /* MauiFirebaseAnalytics */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 64EDE0902B9618AE00661736 /* Build configuration list for PBXNativeTarget "MauiFirebaseAnalytics" */;
- buildPhases = (
- 64EDE0842B9618AE00661736 /* Headers */,
- 64EDE0852B9618AE00661736 /* Sources */,
- 64EDE0862B9618AE00661736 /* Frameworks */,
- 64EDE0872B9618AE00661736 /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = MauiFirebaseAnalytics;
- packageProductDependencies = (
- E5C8F6212B9F59F300722F1E /* FirebaseAnalytics */,
- E5C8F6232B9F59F300722F1E /* FirebaseInstallations */,
- );
- productName = MauiFirebaseAnalytics;
- productReference = 64EDE0892B9618AE00661736 /* MauiFirebaseAnalytics.framework */;
- productType = "com.apple.product-type.framework";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 64EDE0802B9618AE00661736 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = 1;
- LastUpgradeCheck = 1520;
- TargetAttributes = {
- 64EDE0882B9618AE00661736 = {
- CreatedOnToolsVersion = 15.2;
- LastSwiftMigration = 1520;
- };
- };
- };
- buildConfigurationList = 64EDE0832B9618AE00661736 /* Build configuration list for PBXProject "MauiFirebaseAnalytics" */;
- compatibilityVersion = "Xcode 14.0";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = 64EDE07F2B9618AE00661736;
- packageReferences = (
- E5C8F6162B9F593D00722F1E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
- );
- productRefGroup = 64EDE08A2B9618AE00661736 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 64EDE0882B9618AE00661736 /* MauiFirebaseAnalytics */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 64EDE0872B9618AE00661736 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 64EDE0852B9618AE00661736 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 64EDE09F2B96221400661736 /* FirebaseAnalytics.swift in Sources */,
- E5C8F6152B9F58EA00722F1E /* FirebaseApplication.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 64EDE08E2B9618AE00661736 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = YES;
- GCC_C_LANGUAGE_STANDARD = gnu17;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
- MTL_FAST_MATH = YES;
- ONLY_ACTIVE_ARCH = YES;
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- VERSIONING_SYSTEM = "apple-generic";
- VERSION_INFO_PREFIX = "";
- };
- name = Debug;
- };
- 64EDE08F2B9618AE00661736 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = YES;
- GCC_C_LANGUAGE_STANDARD = gnu17;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
- SWIFT_COMPILATION_MODE = wholemodule;
- VERSIONING_SYSTEM = "apple-generic";
- VERSION_INFO_PREFIX = "";
- };
- name = Release;
- };
- 64EDE0912B9618AE00661736 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- DEFINES_MODULE = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
- ENABLE_MODULE_VERIFIER = YES;
- GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_KEY_NSHumanReadableCopyright = "";
- INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 17.2;
- LD_RUNPATH_SEARCH_PATHS = (
- "@executable_path/Frameworks",
- "@loader_path/Frameworks",
- );
- "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
- "@executable_path/../Frameworks",
- "@loader_path/Frameworks",
- );
- MACOSX_DEPLOYMENT_TARGET = 14.2;
- MARKETING_VERSION = 1.0;
- MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
- MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
- PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.MauiFirebaseAnalytics;
- PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
- SDKROOT = auto;
- SKIP_INSTALL = YES;
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
- SUPPORTS_MACCATALYST = YES;
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- 64EDE0922B9618AE00661736 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- DEFINES_MODULE = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
- ENABLE_MODULE_VERIFIER = YES;
- GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_KEY_NSHumanReadableCopyright = "";
- INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 17.2;
- LD_RUNPATH_SEARCH_PATHS = (
- "@executable_path/Frameworks",
- "@loader_path/Frameworks",
- );
- "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = (
- "@executable_path/../Frameworks",
- "@loader_path/Frameworks",
- );
- MACOSX_DEPLOYMENT_TARGET = 14.2;
- MARKETING_VERSION = 1.0;
- MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
- MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
- PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.MauiFirebaseAnalytics;
- PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
- SDKROOT = auto;
- SKIP_INSTALL = YES;
- SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
- SUPPORTS_MACCATALYST = YES;
- SWIFT_EMIT_LOC_STRINGS = YES;
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 64EDE0832B9618AE00661736 /* Build configuration list for PBXProject "MauiFirebaseAnalytics" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 64EDE08E2B9618AE00661736 /* Debug */,
- 64EDE08F2B9618AE00661736 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 64EDE0902B9618AE00661736 /* Build configuration list for PBXNativeTarget "MauiFirebaseAnalytics" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 64EDE0912B9618AE00661736 /* Debug */,
- 64EDE0922B9618AE00661736 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
-
-/* Begin XCRemoteSwiftPackageReference section */
- E5C8F6162B9F593D00722F1E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = {
- isa = XCRemoteSwiftPackageReference;
- repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git";
- requirement = {
- kind = upToNextMajorVersion;
- minimumVersion = 10.22.1;
- };
- };
-/* End XCRemoteSwiftPackageReference section */
-
-/* Begin XCSwiftPackageProductDependency section */
- E5C8F6212B9F59F300722F1E /* FirebaseAnalytics */ = {
- isa = XCSwiftPackageProductDependency;
- package = E5C8F6162B9F593D00722F1E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
- productName = FirebaseAnalytics;
- };
- E5C8F6232B9F59F300722F1E /* FirebaseInstallations */ = {
- isa = XCSwiftPackageProductDependency;
- package = E5C8F6162B9F593D00722F1E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
- productName = FirebaseInstallations;
- };
-/* End XCSwiftPackageProductDependency section */
- };
- rootObject = 64EDE0802B9618AE00661736 /* Project object */;
-}
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index e05a430..0000000
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/firebase/macios/native/analytics/MauiFirebaseAnalytics/MauiFirebaseAnalytics.h b/firebase/macios/native/analytics/MauiFirebaseAnalytics/MauiFirebaseAnalytics.h
deleted file mode 100644
index 2d27e8b..0000000
--- a/firebase/macios/native/analytics/MauiFirebaseAnalytics/MauiFirebaseAnalytics.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-// MauiFirebaseAnalytics.h
-// MauiFirebaseAnalytics
-//
-// Created by Jonathan Dick on 2024-03-04.
-//
-
-#import
-
-//! Project version number for MauiFirebaseAnalytics.
-// FOUNDATION_EXPORT double MauiFirebaseAnalyticsVersionNumber;
-
-//! Project version string for MauiFirebaseAnalytics.
-// FOUNDATION_EXPORT const unsigned char MauiFirebaseAnalyticsVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import
-
-
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d9810..0000000
--- a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index 3475522..0000000
--- a/firebase/macios/native/messaging/MauiFirebaseMessaging.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "abseil-cpp-binary",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/abseil-cpp-binary.git",
- "state" : {
- "revision" : "df308b8b46607675f2b9ec8e569109008f9155ce",
- "version" : "1.2022062300.1"
- }
- },
- {
- "identity" : "app-check",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/app-check.git",
- "state" : {
- "revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
- "version" : "10.18.1"
- }
- },
- {
- "identity" : "firebase-ios-sdk",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/firebase/firebase-ios-sdk.git",
- "state" : {
- "revision" : "be49849dcba96f2b5ee550d4eceb2c0fa27dade4",
- "version" : "10.22.1"
- }
- },
- {
- "identity" : "googleappmeasurement",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/GoogleAppMeasurement.git",
- "state" : {
- "revision" : "482cfa4e5880f0a29f66ecfd60c5a62af28bd1f0",
- "version" : "10.22.1"
- }
- },
- {
- "identity" : "googledatatransport",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/GoogleDataTransport.git",
- "state" : {
- "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565",
- "version" : "9.4.0"
- }
- },
- {
- "identity" : "googleutilities",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/GoogleUtilities.git",
- "state" : {
- "revision" : "26c898aed8bed13b8a63057ee26500abbbcb8d55",
- "version" : "7.13.1"
- }
- },
- {
- "identity" : "grpc-binary",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/grpc-binary.git",
- "state" : {
- "revision" : "ea4cb5cc0c39c732b85386263116d2e2fdbbdc61",
- "version" : "1.49.2"
- }
- },
- {
- "identity" : "gtm-session-fetcher",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/gtm-session-fetcher.git",
- "state" : {
- "revision" : "76135c9f4e1ac85459d5fec61b6f76ac47ab3a4c",
- "version" : "3.3.1"
- }
- },
- {
- "identity" : "interop-ios-for-google-sdks",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
- "state" : {
- "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
- "version" : "100.0.0"
- }
- },
- {
- "identity" : "leveldb",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/firebase/leveldb.git",
- "state" : {
- "revision" : "43aaef65e0c665daadf848761d560e446d350d3d",
- "version" : "1.22.4"
- }
- },
- {
- "identity" : "nanopb",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/firebase/nanopb.git",
- "state" : {
- "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
- "version" : "2.30910.0"
- }
- },
- {
- "identity" : "promises",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/google/promises.git",
- "state" : {
- "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
- "version" : "2.4.0"
- }
- },
- {
- "identity" : "swift-protobuf",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-protobuf.git",
- "state" : {
- "revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8",
- "version" : "1.25.2"
- }
- }
- ],
- "version" : 2
-}
diff --git a/firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.h b/firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.h
deleted file mode 100644
index bdcca83..0000000
--- a/firebase/macios/native/messaging/MauiFirebaseMessaging/MauiFirebaseMessaging.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#import
-
-//! Project version number for MauiFirebaseMessaging.
-FOUNDATION_EXPORT double MauiFirebaseMessagingVersionNumber;
-
-//! Project version string for MauiFirebaseMessaging.
-FOUNDATION_EXPORT const unsigned char MauiFirebaseMessagingVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import
-
-
diff --git a/firebase/macios/sample/App.xaml.cs b/firebase/macios/sample/App.xaml.cs
index aa72752..c456561 100644
--- a/firebase/macios/sample/App.xaml.cs
+++ b/firebase/macios/sample/App.xaml.cs
@@ -6,6 +6,6 @@ public App()
{
InitializeComponent();
- MainPage = new MainPage();
+ MainPage = new AppTabbedPage();
}
}
\ No newline at end of file
diff --git a/firebase/macios/sample/AppTabbedPage.xaml b/firebase/macios/sample/AppTabbedPage.xaml
new file mode 100644
index 0000000..06ba294
--- /dev/null
+++ b/firebase/macios/sample/AppTabbedPage.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase/macios/sample/AppTabbedPage.xaml.cs b/firebase/macios/sample/AppTabbedPage.xaml.cs
new file mode 100644
index 0000000..ce34697
--- /dev/null
+++ b/firebase/macios/sample/AppTabbedPage.xaml.cs
@@ -0,0 +1,29 @@
+using Firebase;
+
+namespace MauiFirebaseMessagingSample;
+
+public partial class AppTabbedPage : TabbedPage
+{
+ static bool FirebaseConfigured { get; set; } = false;
+
+ public AppTabbedPage()
+ {
+ InitializeComponent();
+ }
+
+ public static async Task ConfigureFirebase(ContentPage page)
+ {
+ if (!FirebaseConfigured)
+ {
+ try
+ {
+ MauiFIRApp.AutoConfigure();
+ FirebaseConfigured = true;
+ }
+ catch (Exception ex)
+ {
+ await page.DisplayAlert("Unable to configure Firebase app!", ex.ToString(), "OK");
+ }
+ }
+ }
+}
diff --git a/firebase/macios/sample/FIRAnalyticsPage.xaml b/firebase/macios/sample/FIRAnalyticsPage.xaml
new file mode 100644
index 0000000..970f192
--- /dev/null
+++ b/firebase/macios/sample/FIRAnalyticsPage.xaml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase/macios/sample/FIRAnalyticsPage.xaml.cs b/firebase/macios/sample/FIRAnalyticsPage.xaml.cs
new file mode 100644
index 0000000..a31b277
--- /dev/null
+++ b/firebase/macios/sample/FIRAnalyticsPage.xaml.cs
@@ -0,0 +1,26 @@
+using Firebase;
+
+namespace MauiFirebaseMessagingSample;
+
+public partial class FIRAnalyticsPage : ContentPage
+{
+ public FIRAnalyticsPage()
+ {
+ InitializeComponent();
+ }
+
+ async void OnAnalyticsClicked (object sender, EventArgs e)
+ {
+ try
+ {
+ await AppTabbedPage.ConfigureFirebase(this);
+ MauiFIRAnalytics.LogEvent("OnAnalyticsClicked", new Foundation.NSDictionary("param1", "value1"));
+ var appInstanceId = await MauiFIRAnalytics.GetAppInstanceIdAsync();
+ await DisplayAlert($"Logged event to app ID {appInstanceId}", "", "OK");
+ }
+ catch (Exception ex)
+ {
+ await DisplayAlert("Unable to log event!", ex.ToString(), "OK");
+ }
+ }
+}
diff --git a/firebase/macios/sample/FIRMessagingPage.xaml b/firebase/macios/sample/FIRMessagingPage.xaml
new file mode 100644
index 0000000..bfb6ef6
--- /dev/null
+++ b/firebase/macios/sample/FIRMessagingPage.xaml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase/macios/sample/FIRMessagingPage.xaml.cs b/firebase/macios/sample/FIRMessagingPage.xaml.cs
new file mode 100644
index 0000000..a981ce0
--- /dev/null
+++ b/firebase/macios/sample/FIRMessagingPage.xaml.cs
@@ -0,0 +1,41 @@
+using Firebase;
+
+namespace MauiFirebaseMessagingSample;
+
+public partial class FIRMessagingPage : ContentPage
+{
+ public FIRMessagingPage()
+ {
+ InitializeComponent();
+ }
+
+ void SetText()
+ {
+ lblFcmToken.Text = MauiFIRMessaging.FcmToken ?? "No app token available";
+ btnFcmRegister.Text = (MauiFIRMessaging.FcmToken == null ? "Register" : "UnRegister") + " for Firebase Messaging";
+ }
+
+ async void OnRegisterClicked (object sender, EventArgs e)
+ {
+ try
+ {
+ await AppTabbedPage.ConfigureFirebase(this);
+
+ if (MauiFIRMessaging.FcmToken == null)
+ {
+ var native = await AppDelegate.RequestPush();
+ var fcmToken = await MauiFIRMessaging.RegisterAsync(native);
+ lblFcmToken.Text = fcmToken;
+ }
+ else
+ {
+ await MauiFIRMessaging.UnregisterAsync();
+ }
+ SetText();
+ }
+ catch (Exception ex)
+ {
+ await DisplayAlert("Unable to fetch app token!", ex.ToString(), "OK");
+ }
+ }
+}
diff --git a/firebase/macios/sample/MainPage.xaml b/firebase/macios/sample/MainPage.xaml
deleted file mode 100644
index ae5fd78..0000000
--- a/firebase/macios/sample/MainPage.xaml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/firebase/macios/sample/MainPage.xaml.cs b/firebase/macios/sample/MainPage.xaml.cs
deleted file mode 100644
index 19f9cc0..0000000
--- a/firebase/macios/sample/MainPage.xaml.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using Firebase;
-
-namespace MauiFirebaseMessagingSample;
-
-
-public partial class MainPage : ContentPage
-{
- bool configured = false;
-
- public MainPage()
- {
- InitializeComponent();
- }
-
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- if (!configured)
- {
- try
- {
- configured = true;
- FirebaseApplication.AutoConfigure();
- FirebaseMessaging.IsAutoInitEnabled = true;
- }
- catch (Exception ex)
- {
- await this.DisplayAlert("Fail", ex.ToString(), "OK");
- }
- }
- this.SetText();
- }
-
-
- void SetText()
- {
- lblFcmToken.Text = FirebaseMessaging.FcmToken ?? "No FCM Token";
- btnRegister.Text = (FirebaseMessaging.FcmToken == null ? "Register" : "UnRegister") + " for Firebase Messaging";
- }
-
- async void OnClicked(object sender, EventArgs e)
- {
- try
- {
- if (FirebaseMessaging.FcmToken == null)
- {
- var native = await AppDelegate.RequestPush();
-
- //FirebaseMessaging.Configure("no", "no");
- var fcmToken = await FirebaseMessaging.RegisterAsync(native);
- lblFcmToken.Text = fcmToken;
- }
- else
- {
- await FirebaseMessaging.UnRegisterAsync();
- }
- SetText();
- }
- catch (Exception ex)
- {
- await this.DisplayAlert("Fail", ex.ToString(), "OK");
- }
- }
-}
\ No newline at end of file
diff --git a/firebase/macios/sample/Platforms/iOS/GoogleService-Info.plist b/firebase/macios/sample/Platforms/iOS/GoogleService-Info.plist
index 6666d81..f276e94 100644
--- a/firebase/macios/sample/Platforms/iOS/GoogleService-Info.plist
+++ b/firebase/macios/sample/Platforms/iOS/GoogleService-Info.plist
@@ -2,10 +2,6 @@
- CLIENT_ID
-
- REVERSED_CLIENT_ID
-
API_KEY
GCM_SENDER_ID
@@ -13,11 +9,11 @@
PLIST_VERSION
1
BUNDLE_ID
-
+ com.companyname.firebase.sample
PROJECT_ID
-
+ mauifir
STORAGE_BUCKET
-
+ mauifir.appspot.com
IS_ADS_ENABLED
IS_ANALYTICS_ENABLED
diff --git a/firebase/macios/sample/Sample.csproj b/firebase/macios/sample/Sample.csproj
index 8c35ef0..fa07849 100644
--- a/firebase/macios/sample/Sample.csproj
+++ b/firebase/macios/sample/Sample.csproj
@@ -58,8 +58,7 @@
-
-
+