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 @@ + + + + + + +